(0) Obligation:

JBC Problem based on JBC Program:
No human-readable program information known.

Manifest-Version: 1.0 Created-By: 1.6.0_16 (Sun Microsystems Inc.) Main-Class: Samefringe

(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
Graph of 1445 nodes with 4 SCCs.

(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph to ITRS rules

(4) Complex Obligation (AND)

(5) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load31330(o48160, o48159, o48157, o48158) → NULL31532(o48160, o48159, o48157, o48158, o48157)
NULL31532(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → Load31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
Load31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → Load36791(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP43433(o66388, o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → Load36791(o66388, o66387, java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP43433(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP44585(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Store44491(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP44585(o97213, o97212, o97210, o97256)
Load44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP44585(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
Load44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → Store44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
Load37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Store37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP46979(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → Load37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → Load37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → Store37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP46979(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
The set Q consists of the following terms:
Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5, java.lang.Object(Tree(x2, x3, x4)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))

(6) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

JMP46979(x1, x2, x3, x4, x5, x6) → JMP46979(x1, x2, x3, x5, x6)
Load44066(x1, x2, x3, x4, x5, x6) → Load44066(x1, x2, x3, x5, x6)
Load36791(x1, x2, x3, x4, x5, x6) → Load36791(x1, x2, x4, x5, x6)
JMP43433(x1, x2, x3, x4, x5, x6) → JMP43433(x1, x2, x4, x5, x6)
NULL31532(x1, x2, x3, x4, x5) → NULL31532(x1, x2, x4, x5)

(7) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load31330(o48160, o48159, o48157, o48158) → NULL31532(o48160, o48159, o48158, o48157)
NULL31532(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → Load31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
Load31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → Load36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP43433(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP43433(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP44585(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Store44491(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP44585(o97213, o97212, o97210, o97256)
Load44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP44585(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
Load44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → Store44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
Load37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Store37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP46979(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → Load37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → Load37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → Store37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP46979(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
The set Q consists of the following terms:
Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))

(8) ITRStoQTRSProof (EQUIVALENT transformation)

Represented integers and predefined function symbols by Terms

(9) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

Load31330(o48160, o48159, o48157, o48158) → NULL31532(o48160, o48159, o48158, o48157)
NULL31532(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → Load31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
Load31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → Load36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP43433(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP43433(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP44585(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Store44491(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP44585(o97213, o97212, o97210, o97256)
Load44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP44585(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
Load44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → Store44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
Load37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Store37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP46979(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → Load37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → Load37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → Store37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP46979(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))

The set Q consists of the following terms:

Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))

(10) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))

The TRS R consists of the following rules:

Load31330(o48160, o48159, o48157, o48158) → NULL31532(o48160, o48159, o48158, o48157)
NULL31532(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → Load31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
Load31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → Load36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP43433(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
Load36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP43433(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP44585(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Store44491(o97213, o97212, o97210, o97249) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → Load31330(o97213, o97212, o97210, o97249)
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP44585(o97213, o97212, o97210, o97256)
Load44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP44585(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
Load44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → Store44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
Load37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Store37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → Load44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP46979(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → Load44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
Load36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → Load37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → Load37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
Load36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → Store37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
Load44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP46979(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))

The set Q consists of the following terms:

Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))

We have to consider all minimal (P,Q,R)-chains.

(12) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))

R is empty.
The set Q consists of the following terms:

Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))

We have to consider all minimal (P,Q,R)-chains.

(14) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

Load31330(x0, x1, x2, x3)
NULL31532(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Load31861(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)))
JMP43433(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(x8, java.lang.Object(Tree(x9, x10, NULL)), NULL)))
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(java.lang.Object(Tree(x8, x9, x10)), x11, x12)))
JMP44585(x0, x1, x2, x3)
Store44491(x0, x1, x2, x3)
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(NULL, x6, x7)))
Load37906(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)))
Store37702(x0, x1, java.lang.Object(Tree(x2, x3, x4)), x5)
Load36791(x0, x1, java.lang.Object(Tree(x2, x3, x4)), java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(Tree(NULL, x8, x9)))
JMP46979(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, NULL)), NULL)))
Load44066(x0, x1, x2, java.lang.Object(Tree(x3, x4, x5)), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))

(15) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(16) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97249, o97250))) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(NULL, o97256, o97257)), java.lang.Object(Tree(NULL, o97256, o97257))) → JMP445851(o97213, o97212, o97210, o97256)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, java.lang.Object(Tree(NULL, o97270, o97271)), java.lang.Object(Tree(NULL, o97270, o97271))) → JMP445851(o97213, java.lang.Object(Tree(NULL, o97270, o97271)), o97210, o97270)
LOAD44066(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(NULL, o97263, o97264))) → STORE44491(o97213, java.lang.Object(Tree(NULL, o97263, o97264)), o97210, o97263)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(JMP434331(x1, x2, x3, x4, x5)) = x2 + x3   
POL(JMP445851(x1, x2, x3, x4)) = x2 + x4   
POL(JMP469791(x1, x2, x3, x4, x5)) = x2 + x5   
POL(LOAD31330(x1, x2, x3, x4)) = x2 + x4   
POL(LOAD31861(x1, x2, x3, x4)) = x2 + x4   
POL(LOAD36791(x1, x2, x3, x4, x5)) = x2 + x3   
POL(LOAD37906(x1, x2, x3, x4)) = x2 + x4   
POL(LOAD44066(x1, x2, x3, x4, x5)) = x2 + x5   
POL(NULL) = 1   
POL(NULL315321(x1, x2, x3, x4)) = x2 + x3   
POL(STORE37702(x1, x2, x3, x4)) = x2 + x3   
POL(STORE44491(x1, x2, x3, x4)) = x2 + x4   
POL(Tree(x1, x2, x3)) = x1 + x2   
POL(java.lang.Object(x1)) = x1   

The following usable rules [FROCOS05] were oriented: none

(17) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD31330(o48160, o48159, o48157, o48158) → NULL315321(o48160, o48159, o48158, o48157)
NULL315321(o48592, o48591, o48590, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2))) → LOAD31861(o48592, o48591, java.lang.Object(Tree(o49086Field0, o49086Field1, o49086Field2)), o48590)
LOAD31861(o49481, o49480, java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2))) → LOAD36791(o49481, o49480, java.lang.Object(Tree(o50362Field0, o50362Field1, o50362Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)), java.lang.Object(Tree(o49478Field0, o49478Field1, o49478Field2)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP445851(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
STORE44491(o97213, o97212, o97210, o97249) → LOAD31330(o97213, o97212, o97210, o97249)
LOAD37906(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
STORE37702(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66987) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66987, o66988))) → LOAD44066(o66388, o66387, o66987, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o66992, o66993)), java.lang.Object(Tree(NULL, o66992, o66993))) → LOAD37906(o66388, o66387, o66992, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(NULL, o67002, o67003)), java.lang.Object(Tree(NULL, o67002, o67003))) → LOAD37906(java.lang.Object(Tree(NULL, o67002, o67003)), o66387, o67002, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)))
LOAD36791(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(NULL, o66997, o66998))) → STORE37702(java.lang.Object(Tree(NULL, o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), o66997)
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(18) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 2 SCCs with 11 less nodes.

(19) Complex Obligation (AND)

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(21) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99119, o99120, o99121)), o97249, o97250))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99165, o99166, o99167)), o97256, o97257)), java.lang.Object(Tree(o99165, java.lang.Object(Tree(o99166, o97256, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264))) → JMP469791(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99224, o99225, o99226)), o97263, o97264)), o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99224, java.lang.Object(Tree(o99225, o97263, NULL)), NULL)))
JMP469791(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL))) → LOAD44066(o97213, o97212, o97210, java.lang.Object(Tree(o97211Field0, o97211Field1, o97211Field2)), java.lang.Object(Tree(o99119, java.lang.Object(Tree(o99120, o97249, NULL)), NULL)))
LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271))) → LOAD44066(o97213, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), o97210, java.lang.Object(Tree(java.lang.Object(Tree(o99277, o99278, o99279)), o97270, o97271)), java.lang.Object(Tree(o99277, java.lang.Object(Tree(o99278, o97270, NULL)), NULL)))


Used ordering: Polynomial interpretation [POLO]:

POL(JMP469791(x1, x2, x3, x4, x5)) = 2 + x1 + x2 + x3 + 2·x4 + 2·x5   
POL(LOAD44066(x1, x2, x3, x4, x5)) = x1 + x2 + x3 + 2·x4 + 2·x5   
POL(NULL) = 0   
POL(Tree(x1, x2, x3)) = 2·x1 + x2 + 2·x3   
POL(java.lang.Object(x1)) = 2 + x1   

(22) Obligation:

Q DP problem:
P is empty.
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(23) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(24) TRUE

(25) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(26) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68588, o68589, o68590)), o66987, o66988))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68614, o68615, o68616)), o66992, o66993)), java.lang.Object(Tree(o68614, java.lang.Object(Tree(o68615, o66992, NULL)), NULL)))
JMP434331(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL))) → LOAD36791(o66388, o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68588, java.lang.Object(Tree(o68589, o66987, NULL)), NULL)))
LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003))) → LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68686, o68687, o68688)), o67002, o67003)), java.lang.Object(Tree(o68686, java.lang.Object(Tree(o68687, o67002, NULL)), NULL)))


Used ordering: Polynomial interpretation [POLO]:

POL(JMP434331(x1, x2, x3, x4, x5)) = 2 + 2·x1 + x2 + 2·x3 + x4 + x5   
POL(LOAD36791(x1, x2, x3, x4, x5)) = 2·x1 + x2 + 2·x3 + x4 + x5   
POL(NULL) = 0   
POL(Tree(x1, x2, x3)) = 2·x1 + x2 + 2·x3   
POL(java.lang.Object(x1)) = 2 + x1   

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LOAD36791(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998))) → JMP434331(java.lang.Object(Tree(java.lang.Object(Tree(o68654, o68655, o68656)), o66997, o66998)), o66387, java.lang.Object(Tree(o66386Field0, o66386Field1, o66386Field2)), java.lang.Object(Tree(o66385Field0, o66385Field1, o66385Field2)), java.lang.Object(Tree(o68654, java.lang.Object(Tree(o68655, o66997, NULL)), NULL)))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(28) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(29) TRUE

(30) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC)))) → Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR1(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)))
JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059))) → Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR2(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)))
Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982))) → Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR3(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)))
Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC)))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
JMP42561(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC)))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, NULL, o70982))) → Load36231ARR4(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, NULL, o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR4(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR4(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR4(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC)))) → Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR5(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)))
JMP42611(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC)))) → Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o71058, o71059))) → Load36231ARR6(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR6(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR6(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR6(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, NULL, java.lang.Object(EOC)))) → Load36231ARR7(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR7(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR7(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR7(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → JMP42561(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(NULL, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o64336, java.lang.Object(EOC)))) → Load36231ARR8(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(NULL, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR8(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR8(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR8(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP42611(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc42733(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP42561(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load36231ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load36231ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP42611(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load36231ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load36231ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load36231ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load36231ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load36231ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load36231ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(31) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

JMP42611(x1, x2, x3, x4, x5) → JMP42611(x1, x2, x3, x5)
Cond_Load36231ARR8(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR8(x1, x2, x3, x4, x6, x7)
Load36231ARR8(x1, x2, x3, x4, x5, x6) → Load36231ARR8(x1, x2, x3, x5, x6)
JMP42561(x1, x2, x3, x4, x5) → JMP42561(x1, x2, x3, x5)
Cond_Load36231ARR7(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR7(x1, x2, x3, x4, x6, x7)
Load36231ARR7(x1, x2, x3, x4, x5, x6) → Load36231ARR7(x1, x2, x3, x5, x6)
Inc42733(x1, x2, x3, x4, x5) → Inc42733(x1, x2, x3, x5)
Cond_Load36231ARR5(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR5(x1, x2, x3, x4, x6, x7)
Load36231ARR5(x1, x2, x3, x4, x5, x6) → Load36231ARR5(x1, x2, x3, x5, x6)
Cond_Load36231ARR1(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR1(x1, x2, x3, x4, x6, x7)
Load36231ARR1(x1, x2, x3, x4, x5, x6) → Load36231ARR1(x1, x2, x3, x5, x6)

(32) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC)))) → Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR1(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o71512Field0, o71512Field1, o71512Field2)))
JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059))) → Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR2(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72272Field0, o72272Field1, o72272Field2)))
Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982))) → Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR3(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o72092Field0, o72092Field1, o72092Field2)))
Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC)))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
JMP42561(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC)))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, NULL, o70982))) → Load36231ARR4(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, NULL, o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR4(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR4(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR4(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o70980, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o70982)), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC)))) → Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR5(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)), o64336, java.lang.Object(EOC))), java.lang.Object(Tree(o71695Field0, o71695Field1, o71695Field2)))
JMP42611(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC)))) → Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o71058, o71059))) → Load36231ARR6(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR6(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR6(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR6(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o71058, o71059)), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, o64336, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o64335, NULL, java.lang.Object(EOC)))) → Load36231ARR7(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Load36231ARR7(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → Cond_Load36231ARR7(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022)))
Cond_Load36231ARR7(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i20843, i20845, a49022))) → JMP42561(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(o64335, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(NULL, o64336, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o64336, java.lang.Object(EOC)))) → Load36231ARR8(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(NULL, o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR8(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR8(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR8(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP42611(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o64336, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc42733(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP42561(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load36231ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load36231ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP42611(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load36231ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load36231ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load36231ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load36231ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load36231ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load36231ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(33) ITRSFilterProcessorProof (SOUND transformation)

We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:

Load36231(x1, x2, x3, x4, x5) → Load36231(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load36231ARR1(x1, x2, x3, x4, x5) → Load36231ARR1(x1, x2, x3)
Cond_Load36231ARR1(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR1(x1, x2, x3, x4)
Inc40003(x1, x2, x3, x4, x5) → Inc40003(x1, x2, x3)
JMP40088(x1, x2, x3, x4, x5) → JMP40088(x1, x2, x3)
Load36231ARR2(x1, x2, x3, x4, x5, x6) → Load36231ARR2(x1, x2, x3, x6)
Cond_Load36231ARR2(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR2(x1, x2, x3, x4, x7)
Load36231ARR3(x1, x2, x3, x4, x5, x6) → Load36231ARR3(x1, x2, x3)
Cond_Load36231ARR3(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR3(x1, x2, x3, x4)
Inc42733(x1, x2, x3, x4) → Inc42733(x1, x2, x3)
JMP42561(x1, x2, x3, x4) → JMP42561(x1, x2, x3)
Load36231ARR4(x1, x2, x3, x4, x5, x6) → Load36231ARR4(x1, x2, x3)
Cond_Load36231ARR4(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR4(x1, x2, x3, x4)
Load36231ARR5(x1, x2, x3, x4, x5) → Load36231ARR5(x1, x2, x3, x5)
Cond_Load36231ARR5(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR5(x1, x2, x3, x4, x6)
JMP42611(x1, x2, x3, x4) → JMP42611(x1, x2, x3)
Load36231ARR6(x1, x2, x3, x4, x5, x6) → Load36231ARR6(x1, x2, x3, x6)
Cond_Load36231ARR6(x1, x2, x3, x4, x5, x6, x7) → Cond_Load36231ARR6(x1, x2, x3, x4, x7)
Load36231ARR7(x1, x2, x3, x4, x5) → Load36231ARR7(x1, x2, x3)
Cond_Load36231ARR7(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR7(x1, x2, x3, x4)
Load36231ARR8(x1, x2, x3, x4, x5) → Load36231ARR8(x1, x2, x3, x5)
Cond_Load36231ARR8(x1, x2, x3, x4, x5, x6) → Cond_Load36231ARR8(x1, x2, x3, x4, x6)

(34) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR1(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR2(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR3(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1)
Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1)
JMP42561(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR4(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR4(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR4(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR4(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR5(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
JMP42611(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR6(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR6(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR6(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR6(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc42733(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR7(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR7(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR7(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR7(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → JMP42561(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR8(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR8(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR8(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR8(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP42611(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
The set Q consists of the following terms:
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc42733(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP42561(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR4(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR4(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
JMP42611(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR6(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR6(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load36231ARR7(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR7(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR8(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR8(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(35) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load36231ARR1, Load36231ARR7
> Load36231ARR1_3

Load36231ARR3, Load36231ARR4
> Load36231ARR3_3

Cond_Load36231ARR1, Cond_Load36231ARR7
> Cond_Load36231ARR1_4

JMP40088, JMP42611
> JMP40088_3

Load36231ARR2, Load36231ARR6
> Load36231ARR2_4

Load36231ARR5, Load36231ARR8
> Load36231ARR5_4

Cond_Load36231ARR5, Cond_Load36231ARR8
> Cond_Load36231ARR5_5

Cond_Load36231ARR2, Cond_Load36231ARR6
> Cond_Load36231ARR2_5

Inc40003, Inc42733, JMP42561
> Inc40003_3

Cond_Load36231ARR3, Cond_Load36231ARR4
> Cond_Load36231ARR3_4

(36) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR1(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR2(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR3(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR5(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
The set Q consists of the following terms:
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(37) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(38) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR1(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR2(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)
Inc40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355 + -1)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Load36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Cond_Load36231ARR3(i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355 + -1)
Load36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Load36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → Cond_Load36231ARR5(i21156 > 0 && i20225 > 0 && i20225 < i2 && i20355 > 0 && i20225 + 1 > 0, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088(java.lang.Object(ARRAY(i2, a47355data)), i20225 + 1, i20355)

The integer pair graph contains the following rules and edges:
(0): LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])
(1): LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])
(2): COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2] + 1, i20355[2])
(3): JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])
(4): LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))
(5): LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
(6): COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6] + 1, i20355[6])
(7): INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7] + -1)
(8): LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])
(9): LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])
(10): COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10] + 1, i20355[10] + -1)
(11): LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))
(12): LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))
(13): COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13] + 1, i20355[13])

(0) -> (1), if ((i20225[0]* i20225[1])∧(i20355[0]* i20355[1])∧(java.lang.Object(ARRAY(i2[0], a47355data[0])) →* java.lang.Object(ARRAY(i2[1], a47355data[1]))))


(1) -> (2), if ((i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[1], a47355data[1])) →* java.lang.Object(ARRAY(i2[2], a47355data[2])))∧(i20355[1]* i20355[2])∧(i20225[1]* i20225[2]))


(2) -> (7), if ((i20225[2] + 1* i20581[7])∧(java.lang.Object(ARRAY(i2[2], a47355data[2])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20355[2]* i20355[7]))


(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a47355data[3])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20581[3]* i20581[7])∧(i20355[3]* i20355[7]))


(4) -> (5), if ((java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])) →* java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(i20355[4]* i20355[5])∧(i20225[4]* i20225[5])∧(java.lang.Object(ARRAY(i2[4], a47355data[4])) →* java.lang.Object(ARRAY(i2[5], a47355data[5]))))


(5) -> (6), if ((i20355[5]* i20355[6])∧(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0* TRUE)∧(i20225[5]* i20225[6])∧(java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])) →* java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))∧(java.lang.Object(ARRAY(i2[5], a47355data[5])) →* java.lang.Object(ARRAY(i2[6], a47355data[6]))))


(6) -> (7), if ((i20355[6]* i20355[7])∧(java.lang.Object(ARRAY(i2[6], a47355data[6])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20225[6] + 1* i20581[7]))


(7) -> (0), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20581[7]* i20225[0])∧(i20355[7] + -1* i20355[0]))


(7) -> (4), if ((i20355[7] + -1* i20355[4])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20581[7]* i20225[4]))


(7) -> (8), if ((i20355[7] + -1* i20355[8])∧(i20581[7]* i20225[8])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))


(7) -> (11), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[11], a47355data[11])))∧(i20581[7]* i20225[11])∧(i20355[7] + -1* i20355[11]))


(8) -> (9), if ((i20225[8]* i20225[9])∧(java.lang.Object(ARRAY(i2[8], a47355data[8])) →* java.lang.Object(ARRAY(i2[9], a47355data[9])))∧(i20355[8]* i20355[9]))


(9) -> (10), if ((i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0* TRUE)∧(i20355[9]* i20355[10])∧(java.lang.Object(ARRAY(i2[9], a47355data[9])) →* java.lang.Object(ARRAY(i2[10], a47355data[10])))∧(i20225[9]* i20225[10]))


(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20355[10] + -1* i20355[0])∧(i20225[10] + 1* i20225[0]))


(10) -> (4), if ((i20225[10] + 1* i20225[4])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20355[10] + -1* i20355[4]))


(10) -> (8), if ((i20355[10] + -1* i20355[8])∧(i20225[10] + 1* i20225[8])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))


(10) -> (11), if ((i20355[10] + -1* i20355[11])∧(i20225[10] + 1* i20225[11])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[11], a47355data[11]))))


(11) -> (12), if ((i20355[11]* i20355[12])∧(java.lang.Object(ARRAY(i2[11], a47355data[11])) →* java.lang.Object(ARRAY(i2[12], a47355data[12])))∧(java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])) →* java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(i20225[11]* i20225[12]))


(12) -> (13), if ((i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0* TRUE)∧(i20225[12]* i20225[13])∧(java.lang.Object(ARRAY(i2[12], a47355data[12])) →* java.lang.Object(ARRAY(i2[13], a47355data[13])))∧(java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])) →* java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))∧(i20355[12]* i20355[13]))


(13) -> (3), if ((i20355[13]* i20355[3])∧(i20225[13] + 1* i20581[3])∧(java.lang.Object(ARRAY(i2[13], a47355data[13])) →* java.lang.Object(ARRAY(i2[3], a47355data[3]))))



The set Q consists of the following terms:
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(39) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(40) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])
(1): LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])
(2): COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2] + 1, i20355[2])
(3): JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])
(4): LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))
(5): LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
(6): COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6] + 1, i20355[6])
(7): INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7] + -1)
(8): LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])
(9): LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])
(10): COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10] + 1, i20355[10] + -1)
(11): LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))
(12): LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))
(13): COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13] + 1, i20355[13])

(0) -> (1), if ((i20225[0]* i20225[1])∧(i20355[0]* i20355[1])∧(java.lang.Object(ARRAY(i2[0], a47355data[0])) →* java.lang.Object(ARRAY(i2[1], a47355data[1]))))


(1) -> (2), if ((i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[1], a47355data[1])) →* java.lang.Object(ARRAY(i2[2], a47355data[2])))∧(i20355[1]* i20355[2])∧(i20225[1]* i20225[2]))


(2) -> (7), if ((i20225[2] + 1* i20581[7])∧(java.lang.Object(ARRAY(i2[2], a47355data[2])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20355[2]* i20355[7]))


(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a47355data[3])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20581[3]* i20581[7])∧(i20355[3]* i20355[7]))


(4) -> (5), if ((java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])) →* java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(i20355[4]* i20355[5])∧(i20225[4]* i20225[5])∧(java.lang.Object(ARRAY(i2[4], a47355data[4])) →* java.lang.Object(ARRAY(i2[5], a47355data[5]))))


(5) -> (6), if ((i20355[5]* i20355[6])∧(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0* TRUE)∧(i20225[5]* i20225[6])∧(java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])) →* java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))∧(java.lang.Object(ARRAY(i2[5], a47355data[5])) →* java.lang.Object(ARRAY(i2[6], a47355data[6]))))


(6) -> (7), if ((i20355[6]* i20355[7])∧(java.lang.Object(ARRAY(i2[6], a47355data[6])) →* java.lang.Object(ARRAY(i2[7], a47355data[7])))∧(i20225[6] + 1* i20581[7]))


(7) -> (0), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20581[7]* i20225[0])∧(i20355[7] + -1* i20355[0]))


(7) -> (4), if ((i20355[7] + -1* i20355[4])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20581[7]* i20225[4]))


(7) -> (8), if ((i20355[7] + -1* i20355[8])∧(i20581[7]* i20225[8])∧(java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))


(7) -> (11), if ((java.lang.Object(ARRAY(i2[7], a47355data[7])) →* java.lang.Object(ARRAY(i2[11], a47355data[11])))∧(i20581[7]* i20225[11])∧(i20355[7] + -1* i20355[11]))


(8) -> (9), if ((i20225[8]* i20225[9])∧(java.lang.Object(ARRAY(i2[8], a47355data[8])) →* java.lang.Object(ARRAY(i2[9], a47355data[9])))∧(i20355[8]* i20355[9]))


(9) -> (10), if ((i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0* TRUE)∧(i20355[9]* i20355[10])∧(java.lang.Object(ARRAY(i2[9], a47355data[9])) →* java.lang.Object(ARRAY(i2[10], a47355data[10])))∧(i20225[9]* i20225[10]))


(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[0], a47355data[0])))∧(i20355[10] + -1* i20355[0])∧(i20225[10] + 1* i20225[0]))


(10) -> (4), if ((i20225[10] + 1* i20225[4])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[4], a47355data[4])))∧(i20355[10] + -1* i20355[4]))


(10) -> (8), if ((i20355[10] + -1* i20355[8])∧(i20225[10] + 1* i20225[8])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[8], a47355data[8]))))


(10) -> (11), if ((i20355[10] + -1* i20355[11])∧(i20225[10] + 1* i20225[11])∧(java.lang.Object(ARRAY(i2[10], a47355data[10])) →* java.lang.Object(ARRAY(i2[11], a47355data[11]))))


(11) -> (12), if ((i20355[11]* i20355[12])∧(java.lang.Object(ARRAY(i2[11], a47355data[11])) →* java.lang.Object(ARRAY(i2[12], a47355data[12])))∧(java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])) →* java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(i20225[11]* i20225[12]))


(12) -> (13), if ((i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0* TRUE)∧(i20225[12]* i20225[13])∧(java.lang.Object(ARRAY(i2[12], a47355data[12])) →* java.lang.Object(ARRAY(i2[13], a47355data[13])))∧(java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])) →* java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))∧(i20355[12]* i20355[13]))


(13) -> (3), if ((i20355[13]* i20355[3])∧(i20225[13] + 1* i20581[3])∧(java.lang.Object(ARRAY(i2[13], a47355data[13])) →* java.lang.Object(ARRAY(i2[3], a47355data[3]))))



The set Q consists of the following terms:
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(41) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(42) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])
(1): LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])
(2): COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2] + 1, i20355[2])
(3): JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])
(4): LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))
(5): LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
(6): COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6] + 1, i20355[6])
(7): INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7] + -1)
(8): LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])
(9): LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])
(10): COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10] + 1, i20355[10] + -1)
(11): LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))
(12): LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))
(13): COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13] + 1, i20355[13])

(0) -> (1), if ((i20225[0]* i20225[1])∧(i20355[0]* i20355[1])∧((i2[0]* i2[1])∧(a47355data[0]* a47355data[1])))


(1) -> (2), if ((i20225[1] > 0 && i20225[1] < i2[1] && i20355[1] > 0 && i20225[1] + 1 > 0* TRUE)∧((i2[1]* i2[2])∧(a47355data[1]* a47355data[2]))∧(i20355[1]* i20355[2])∧(i20225[1]* i20225[2]))


(2) -> (7), if ((i20225[2] + 1* i20581[7])∧((i2[2]* i2[7])∧(a47355data[2]* a47355data[7]))∧(i20355[2]* i20355[7]))


(3) -> (7), if (((i2[3]* i2[7])∧(a47355data[3]* a47355data[7]))∧(i20581[3]* i20581[7])∧(i20355[3]* i20355[7]))


(4) -> (5), if (((i21156[4]* i21156[5])∧(i20843[4]* i20843[5])∧(i20845[4]* i20845[5])∧(a49022[4]* a49022[5]))∧(i20355[4]* i20355[5])∧(i20225[4]* i20225[5])∧((i2[4]* i2[5])∧(a47355data[4]* a47355data[5])))


(5) -> (6), if ((i20355[5]* i20355[6])∧(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0* TRUE)∧(i20225[5]* i20225[6])∧((i21156[5]* i21156[6])∧(i20843[5]* i20843[6])∧(i20845[5]* i20845[6])∧(a49022[5]* a49022[6]))∧((i2[5]* i2[6])∧(a47355data[5]* a47355data[6])))


(6) -> (7), if ((i20355[6]* i20355[7])∧((i2[6]* i2[7])∧(a47355data[6]* a47355data[7]))∧(i20225[6] + 1* i20581[7]))


(7) -> (0), if (((i2[7]* i2[0])∧(a47355data[7]* a47355data[0]))∧(i20581[7]* i20225[0])∧(i20355[7] + -1* i20355[0]))


(7) -> (4), if ((i20355[7] + -1* i20355[4])∧((i2[7]* i2[4])∧(a47355data[7]* a47355data[4]))∧(i20581[7]* i20225[4]))


(7) -> (8), if ((i20355[7] + -1* i20355[8])∧(i20581[7]* i20225[8])∧((i2[7]* i2[8])∧(a47355data[7]* a47355data[8])))


(7) -> (11), if (((i2[7]* i2[11])∧(a47355data[7]* a47355data[11]))∧(i20581[7]* i20225[11])∧(i20355[7] + -1* i20355[11]))


(8) -> (9), if ((i20225[8]* i20225[9])∧((i2[8]* i2[9])∧(a47355data[8]* a47355data[9]))∧(i20355[8]* i20355[9]))


(9) -> (10), if ((i20225[9] > 0 && i20225[9] < i2[9] && i20355[9] > 0 && i20225[9] + 1 > 0* TRUE)∧(i20355[9]* i20355[10])∧((i2[9]* i2[10])∧(a47355data[9]* a47355data[10]))∧(i20225[9]* i20225[10]))


(10) -> (0), if (((i2[10]* i2[0])∧(a47355data[10]* a47355data[0]))∧(i20355[10] + -1* i20355[0])∧(i20225[10] + 1* i20225[0]))


(10) -> (4), if ((i20225[10] + 1* i20225[4])∧((i2[10]* i2[4])∧(a47355data[10]* a47355data[4]))∧(i20355[10] + -1* i20355[4]))


(10) -> (8), if ((i20355[10] + -1* i20355[8])∧(i20225[10] + 1* i20225[8])∧((i2[10]* i2[8])∧(a47355data[10]* a47355data[8])))


(10) -> (11), if ((i20355[10] + -1* i20355[11])∧(i20225[10] + 1* i20225[11])∧((i2[10]* i2[11])∧(a47355data[10]* a47355data[11])))


(11) -> (12), if ((i20355[11]* i20355[12])∧((i2[11]* i2[12])∧(a47355data[11]* a47355data[12]))∧((i21156[11]* i21156[12])∧(i20843[11]* i20843[12])∧(i20845[11]* i20845[12])∧(a49022[11]* a49022[12]))∧(i20225[11]* i20225[12]))


(12) -> (13), if ((i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0* TRUE)∧(i20225[12]* i20225[13])∧((i2[12]* i2[13])∧(a47355data[12]* a47355data[13]))∧((i21156[12]* i21156[13])∧(i20843[12]* i20843[13])∧(i20845[12]* i20845[13])∧(a49022[12]* a49022[13]))∧(i20355[12]* i20355[13]))


(13) -> (3), if ((i20355[13]* i20355[3])∧(i20225[13] + 1* i20581[3])∧((i2[13]* i2[3])∧(a47355data[13]* a47355data[3])))



The set Q consists of the following terms:
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(43) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) the following chains were created:
  • We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]), LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) which results in the following constraint:

    (1)    (i20225[0]=i20225[1]i20355[0]=i20355[1]i2[0]=i2[1]a47355data[0]=a47355data[1]LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])∧(UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])≥LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])∧(UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)







For Pair LOAD36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225, 0), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) the following chains were created:
  • We consider the chain LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]), COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2]) which results in the following constraint:

    (7)    (&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0))=TRUEi2[1]=i2[2]a47355data[1]=a47355data[2]i20355[1]=i20355[2]i20225[1]=i20225[2]LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥NonInfC∧LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])∧(UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥))



    We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (8)    (>(+(i20225[1], 1), 0)=TRUE>(i20355[1], 0)=TRUE>(i20225[1], 0)=TRUE<(i20225[1], i2[1])=TRUELOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥NonInfC∧LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])≥COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])∧(UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (13)    ([1] + i20225[1] ≥ 0∧i20355[1] + [-1] ≥ 0∧i20225[1] ≥ 0∧i2[1] + [-2] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    ([1] + i20225[1] ≥ 0∧i20355[1] ≥ 0∧i20225[1] ≥ 0∧i2[1] + [-2] + [-1]i20225[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(2)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] + [(-1)bni_26]i20225[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([1] + i20225[1] ≥ 0∧i20355[1] ≥ 0∧i20225[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)







For Pair COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355) the following chains were created:
  • We consider the chain COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2]) which results in the following constraint:

    (16)    (COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2])≥NonInfC∧COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2])≥INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥))



    We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (17)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)



    We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (18)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)



    We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (19)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)



    We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (20)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)







For Pair JMP40088'(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) the following chains were created:
  • We consider the chain JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]), INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1)) which results in the following constraint:

    (21)    (i2[3]=i2[7]a47355data[3]=a47355data[7]i20581[3]=i20581[7]i20355[3]=i20355[7]JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥NonInfC∧JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥))



    We simplified constraint (21) using rule (IV) which results in the following new constraint:

    (22)    (JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥NonInfC∧JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])≥INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥))



    We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (23)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧[(-1)bso_31] ≥ 0)



    We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (24)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧[(-1)bso_31] ≥ 0)



    We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (25)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧[(-1)bso_31] ≥ 0)



    We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (26)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)







For Pair LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) the following chains were created:
  • We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4]))) which results in the following constraint:

    (27)    (LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4])≥LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))∧(UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥))



    We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (28)    ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)



    We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (29)    ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)



    We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (30)    ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)



    We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (31)    ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)







For Pair LOAD36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156, 0), >(i20225, 0)), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) the following chains were created:
  • We consider the chain LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))), COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6]) which results in the following constraint:

    (32)    (i20355[5]=i20355[6]&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0))=TRUEi20225[5]=i20225[6]i21156[5]=i21156[6]i20843[5]=i20843[6]i20845[5]=i20845[6]a49022[5]=a49022[6]i2[5]=i2[6]a47355data[5]=a47355data[6]LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥NonInfC∧LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥))



    We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (33)    (>(+(i20225[5], 1), 0)=TRUE>(i20355[5], 0)=TRUE<(i20225[5], i2[5])=TRUE>(i21156[5], 0)=TRUE>(i20225[5], 0)=TRUELOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥NonInfC∧LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))≥COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))∧(UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥))



    We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (34)    (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (35)    (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (36)    (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (37)    (i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (38)    ([1] + i20225[5] ≥ 0∧i20355[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (39)    ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] + [-2] + [-1]i20225[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] + [(-1)bni_34]i20225[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (40)    ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] ≥ 0∧i21156[5] + [-1] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (41)    ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] ≥ 0∧i21156[5] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355) the following chains were created:
  • We consider the chain COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6]) which results in the following constraint:

    (42)    (COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))≥NonInfC∧COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6])))≥INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])∧(UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥))



    We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (43)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)



    We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (44)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)



    We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (45)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)



    We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (46)    ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)







For Pair INC40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, +(i20355, -1)) the following chains were created:
  • We consider the chain INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1)) which results in the following constraint:

    (47)    (INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7])≥NonInfC∧INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7])≥LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))∧(UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥))



    We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (48)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (49)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (50)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (51)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) the following chains were created:
  • We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]), LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) which results in the following constraint:

    (52)    (i20225[8]=i20225[9]i2[8]=i2[9]a47355data[8]=a47355data[9]i20355[8]=i20355[9]LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])∧(UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥))



    We simplified constraint (52) using rule (IV) which results in the following new constraint:

    (53)    (LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])≥LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])∧(UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥))



    We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (54)    ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧[(-1)bso_41] ≥ 0)



    We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (55)    ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧[(-1)bso_41] ≥ 0)



    We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (56)    ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧[(-1)bso_41] ≥ 0)



    We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (57)    ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)







For Pair LOAD36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225, 0), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) the following chains were created:
  • We consider the chain LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]), COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1)) which results in the following constraint:

    (58)    (&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0))=TRUEi20355[9]=i20355[10]i2[9]=i2[10]a47355data[9]=a47355data[10]i20225[9]=i20225[10]LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥NonInfC∧LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])∧(UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥))



    We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (59)    (>(+(i20225[9], 1), 0)=TRUE>(i20355[9], 0)=TRUE>(i20225[9], 0)=TRUE<(i20225[9], i2[9])=TRUELOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥NonInfC∧LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])≥COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])∧(UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥))



    We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (60)    (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (61)    (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (62)    (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (63)    (i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (64)    ([1] + i20225[9] ≥ 0∧i20355[9] + [-1] ≥ 0∧i20225[9] ≥ 0∧i2[9] + [-2] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (65)    ([1] + i20225[9] ≥ 0∧i20355[9] ≥ 0∧i20225[9] ≥ 0∧i2[9] + [-2] + [-1]i20225[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(3)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [(-1)bni_42]i20225[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (66)    ([1] + i20225[9] ≥ 0∧i20355[9] ≥ 0∧i20225[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)







For Pair COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), +(i20355, -1)) the following chains were created:
  • We consider the chain COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1)) which results in the following constraint:

    (67)    (COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10])≥NonInfC∧COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10])≥LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))∧(UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥))



    We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (68)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)



    We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (69)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)



    We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (70)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)



    We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (71)    ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)







For Pair LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) the following chains were created:
  • We consider the chain LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11]))) which results in the following constraint:

    (72)    (LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11])≥NonInfC∧LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11])≥LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))∧(UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥))



    We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (73)    ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)



    We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (74)    ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)



    We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (75)    ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)



    We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (76)    ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)







For Pair LOAD36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156, 0), >(i20225, 0)), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) the following chains were created:
  • We consider the chain LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))), COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13]) which results in the following constraint:

    (77)    (&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0))=TRUEi20225[12]=i20225[13]i2[12]=i2[13]a47355data[12]=a47355data[13]i21156[12]=i21156[13]i20843[12]=i20843[13]i20845[12]=i20845[13]a49022[12]=a49022[13]i20355[12]=i20355[13]LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥NonInfC∧LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥))



    We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (78)    (>(+(i20225[12], 1), 0)=TRUE>(i20355[12], 0)=TRUE<(i20225[12], i2[12])=TRUE>(i21156[12], 0)=TRUE>(i20225[12], 0)=TRUELOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥NonInfC∧LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))≥COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))∧(UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥))



    We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (79)    (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (80)    (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (81)    (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (82)    (i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (83)    ([1] + i20225[12] ≥ 0∧i20355[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (84)    ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] + [-2] + [-1]i20225[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [(2)bni_48]i20355[12] + [(-1)bni_48]i20225[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (85)    ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] ≥ 0∧i21156[12] + [-1] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i20355[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (86)    ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] ≥ 0∧i21156[12] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i20355[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088'(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355) the following chains were created:
  • We consider the chain COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13]) which results in the following constraint:

    (87)    (COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))≥NonInfC∧COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13])))≥JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])∧(UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥))



    We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (88)    ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)



    We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (89)    ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)



    We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (90)    ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)



    We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (91)    ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
    • ((UIncreasing(LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)

  • LOAD36231ARR1(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225, 0), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
    • ([1] + i20225[1] ≥ 0∧i20355[1] ≥ 0∧i20225[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i20355[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)

  • COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355)
    • ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)

  • JMP40088'(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355)
    • ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)

  • LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
    • ((UIncreasing(LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)

  • LOAD36231ARR2(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156, 0), >(i20225, 0)), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
    • ([1] + i20225[5] ≥ 0∧i20355[5] ≥ 0∧i2[5] ≥ 0∧i21156[5] ≥ 0∧i20225[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i20355[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → INC40003(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355)
    • ((UIncreasing(INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)

  • INC40003(java.lang.Object(ARRAY(i2, a47355data)), i20581, i20355) → LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20581, +(i20355, -1))
    • ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
    • ((UIncreasing(LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)

  • LOAD36231ARR3(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225, 0), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355)
    • ([1] + i20225[9] ≥ 0∧i20355[9] ≥ 0∧i20225[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i20355[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)

  • COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), +(i20355, -1))
    • ((UIncreasing(LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)

  • LOAD36231(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355) → LOAD36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
    • ((UIncreasing(LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)

  • LOAD36231ARR5(java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156, 0), >(i20225, 0)), <(i20225, i2)), >(i20355, 0)), >(+(i20225, 1), 0)), java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022)))
    • ([1] + i20225[12] ≥ 0∧i20355[12] ≥ 0∧i2[12] ≥ 0∧i21156[12] ≥ 0∧i20225[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i20355[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2, a47355data)), i20225, i20355, java.lang.Object(java.lang.String(i21156, i20843, i20845, a49022))) → JMP40088'(java.lang.Object(ARRAY(i2, a47355data)), +(i20225, 1), i20355)
    • ((UIncreasing(JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD36231(x1, x2, x3)) = [1] + [2]x3 + [-1]x1 + [-1]x2   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [-1] + [-1]x1   
POL(LOAD36231ARR1(x1, x2, x3)) = [2]x3 + [-1]x1 + [-1]x2   
POL(COND_LOAD36231ARR1(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x2 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(INC40003(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1   
POL(JMP40088'(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1   
POL(LOAD36231ARR2(x1, x2, x3, x4)) = [2]x3 + [-1]x1 + [-1]x2   
POL(java.lang.String(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1   
POL(COND_LOAD36231ARR2(x1, x2, x3, x4, x5)) = [2]x4 + [-1]x2 + [-1]x3   
POL(-1) = [-1]   
POL(LOAD36231ARR3(x1, x2, x3)) = [1] + [2]x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD36231ARR3(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x2   
POL(LOAD36231ARR5(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD36231ARR5(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2   

The following pairs are in P>:

LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])
LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])
COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), +(i20225[2], 1), i20355[2])
LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))
COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), +(i20225[6], 1), i20355[6])
LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])
COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), +(i20225[10], 1), +(i20355[10], -1))
LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))
COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), +(i20225[13], 1), i20355[13])

The following pairs are in Pbound:

LOAD36231ARR1(java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1]) → COND_LOAD36231ARR1(&&(&&(&&(>(i20225[1], 0), <(i20225[1], i2[1])), >(i20355[1], 0)), >(+(i20225[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a47355data[1])), i20225[1], i20355[1])
LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
LOAD36231ARR3(java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9]) → COND_LOAD36231ARR3(&&(&&(&&(>(i20225[9], 0), <(i20225[9], i2[9])), >(i20355[9], 0)), >(+(i20225[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a47355data[9])), i20225[9], i20355[9])
LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))

The following pairs are in P:

JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])
LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(&&(&&(&&(&&(>(i21156[5], 0), >(i20225[5], 0)), <(i20225[5], i2[5])), >(i20355[5], 0)), >(+(i20225[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], +(i20355[7], -1))
LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])
LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(&&(&&(&&(&&(>(i21156[12], 0), >(i20225[12], 0)), <(i20225[12], i2[12])), >(i20355[12], 0)), >(+(i20225[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))

There are no usable rules.

(44) Complex Obligation (AND)

(45) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(3): JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])
(5): LOAD36231ARR2(java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5]))) → COND_LOAD36231ARR2(i21156[5] > 0 && i20225[5] > 0 && i20225[5] < i2[5] && i20355[5] > 0 && i20225[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a47355data[5])), i20225[5], i20355[5], java.lang.Object(java.lang.String(i21156[5], i20843[5], i20845[5], a49022[5])))
(7): INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7] + -1)
(8): LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])
(12): LOAD36231ARR5(java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12]))) → COND_LOAD36231ARR5(i21156[12] > 0 && i20225[12] > 0 && i20225[12] < i2[12] && i20355[12] > 0 && i20225[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a47355data[12])), i20225[12], i20355[12], java.lang.Object(java.lang.String(i21156[12], i20843[12], i20845[12], a49022[12])))

(3) -> (7), if (((i2[3]* i2[7])∧(a47355data[3]* a47355data[7]))∧(i20581[3]* i20581[7])∧(i20355[3]* i20355[7]))


(7) -> (8), if ((i20355[7] + -1* i20355[8])∧(i20581[7]* i20225[8])∧((i2[7]* i2[8])∧(a47355data[7]* a47355data[8])))



The set Q consists of the following terms:
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(46) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes.

(47) TRUE

(48) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD36231(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0]) → LOAD36231ARR1(java.lang.Object(ARRAY(i2[0], a47355data[0])), i20225[0], i20355[0])
(2): COND_LOAD36231ARR1(TRUE, java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2], i20355[2]) → INC40003(java.lang.Object(ARRAY(i2[2], a47355data[2])), i20225[2] + 1, i20355[2])
(3): JMP40088'(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3]) → INC40003(java.lang.Object(ARRAY(i2[3], a47355data[3])), i20581[3], i20355[3])
(4): LOAD36231(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4]) → LOAD36231ARR2(java.lang.Object(ARRAY(i2[4], a47355data[4])), i20225[4], i20355[4], java.lang.Object(java.lang.String(i21156[4], i20843[4], i20845[4], a49022[4])))
(6): COND_LOAD36231ARR2(TRUE, java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6], i20355[6], java.lang.Object(java.lang.String(i21156[6], i20843[6], i20845[6], a49022[6]))) → INC40003(java.lang.Object(ARRAY(i2[6], a47355data[6])), i20225[6] + 1, i20355[6])
(7): INC40003(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7]) → LOAD36231(java.lang.Object(ARRAY(i2[7], a47355data[7])), i20581[7], i20355[7] + -1)
(8): LOAD36231(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8]) → LOAD36231ARR3(java.lang.Object(ARRAY(i2[8], a47355data[8])), i20225[8], i20355[8])
(10): COND_LOAD36231ARR3(TRUE, java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10], i20355[10]) → LOAD36231(java.lang.Object(ARRAY(i2[10], a47355data[10])), i20225[10] + 1, i20355[10] + -1)
(11): LOAD36231(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11]) → LOAD36231ARR5(java.lang.Object(ARRAY(i2[11], a47355data[11])), i20225[11], i20355[11], java.lang.Object(java.lang.String(i21156[11], i20843[11], i20845[11], a49022[11])))
(13): COND_LOAD36231ARR5(TRUE, java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13], i20355[13], java.lang.Object(java.lang.String(i21156[13], i20843[13], i20845[13], a49022[13]))) → JMP40088'(java.lang.Object(ARRAY(i2[13], a47355data[13])), i20225[13] + 1, i20355[13])

(7) -> (0), if (((i2[7]* i2[0])∧(a47355data[7]* a47355data[0]))∧(i20581[7]* i20225[0])∧(i20355[7] + -1* i20355[0]))


(10) -> (0), if (((i2[10]* i2[0])∧(a47355data[10]* a47355data[0]))∧(i20355[10] + -1* i20355[0])∧(i20225[10] + 1* i20225[0]))


(13) -> (3), if ((i20355[13]* i20355[3])∧(i20225[13] + 1* i20581[3])∧((i2[13]* i2[3])∧(a47355data[13]* a47355data[3])))


(7) -> (4), if ((i20355[7] + -1* i20355[4])∧((i2[7]* i2[4])∧(a47355data[7]* a47355data[4]))∧(i20581[7]* i20225[4]))


(10) -> (4), if ((i20225[10] + 1* i20225[4])∧((i2[10]* i2[4])∧(a47355data[10]* a47355data[4]))∧(i20355[10] + -1* i20355[4]))


(2) -> (7), if ((i20225[2] + 1* i20581[7])∧((i2[2]* i2[7])∧(a47355data[2]* a47355data[7]))∧(i20355[2]* i20355[7]))


(3) -> (7), if (((i2[3]* i2[7])∧(a47355data[3]* a47355data[7]))∧(i20581[3]* i20581[7])∧(i20355[3]* i20355[7]))


(6) -> (7), if ((i20355[6]* i20355[7])∧((i2[6]* i2[7])∧(a47355data[6]* a47355data[7]))∧(i20225[6] + 1* i20581[7]))


(7) -> (8), if ((i20355[7] + -1* i20355[8])∧(i20581[7]* i20225[8])∧((i2[7]* i2[8])∧(a47355data[7]* a47355data[8])))


(10) -> (8), if ((i20355[10] + -1* i20355[8])∧(i20225[10] + 1* i20225[8])∧((i2[10]* i2[8])∧(a47355data[10]* a47355data[8])))


(7) -> (11), if (((i2[7]* i2[11])∧(a47355data[7]* a47355data[11]))∧(i20581[7]* i20225[11])∧(i20355[7] + -1* i20355[11]))


(10) -> (11), if ((i20355[10] + -1* i20355[11])∧(i20225[10] + 1* i20225[11])∧((i2[10]* i2[11])∧(a47355data[10]* a47355data[11])))



The set Q consists of the following terms:
Load36231(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR1(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR1(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP40088(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR2(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR2(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc40003(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR3(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load36231ARR3(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load36231ARR5(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load36231ARR5(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(49) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.

(50) TRUE

(51) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC)))) → Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR9(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)))
JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613))) → Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR10(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)))
Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573))) → Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR11(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)))
Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC)))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
JMP26504(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC)))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, NULL, o25573))) → Load18769ARR12(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, NULL, o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR12(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR12(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR12(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC)))) → Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR13(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)))
JMP26541(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC)))) → Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o25612, o25613))) → Load18769ARR14(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR14(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR14(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR14(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, NULL, java.lang.Object(EOC)))) → Load18769ARR15(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR15(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR15(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR15(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → JMP26504(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(NULL, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o20365, java.lang.Object(EOC)))) → Load18769ARR16(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(NULL, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR16(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR16(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR16(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP26541(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc26621(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP26504(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load18769ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load18769ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP26541(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load18769ARR14(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load18769ARR14(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load18769ARR15(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load18769ARR15(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load18769ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load18769ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(52) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

JMP26541(x1, x2, x3, x4, x5) → JMP26541(x1, x2, x3, x5)
Cond_Load18769ARR16(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR16(x1, x2, x3, x4, x6, x7)
Load18769ARR16(x1, x2, x3, x4, x5, x6) → Load18769ARR16(x1, x2, x3, x5, x6)
JMP26504(x1, x2, x3, x4, x5) → JMP26504(x1, x2, x3, x5)
Cond_Load18769ARR15(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR15(x1, x2, x3, x4, x6, x7)
Load18769ARR15(x1, x2, x3, x4, x5, x6) → Load18769ARR15(x1, x2, x3, x5, x6)
Inc26621(x1, x2, x3, x4, x5) → Inc26621(x1, x2, x3, x5)
Cond_Load18769ARR13(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR13(x1, x2, x3, x4, x6, x7)
Load18769ARR13(x1, x2, x3, x4, x5, x6) → Load18769ARR13(x1, x2, x3, x5, x6)
Cond_Load18769ARR9(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR9(x1, x2, x3, x4, x6, x7)
Load18769ARR9(x1, x2, x3, x4, x5, x6) → Load18769ARR9(x1, x2, x3, x5, x6)

(53) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC)))) → Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR9(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o25822Field0, o25822Field1, o25822Field2)))
JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613))) → Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR10(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26179Field0, o26179Field1, o26179Field2)))
Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573))) → Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR11(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o26084Field0, o26084Field1, o26084Field2)))
Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC)))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
JMP26504(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC)))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, NULL, o25573))) → Load18769ARR12(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, NULL, o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR12(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR12(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR12(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25571, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25573)), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC)))) → Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR13(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)), o20365, java.lang.Object(EOC))), java.lang.Object(Tree(o25926Field0, o25926Field1, o25926Field2)))
JMP26541(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC)))) → Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o25612, o25613))) → Load18769ARR14(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR14(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR14(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR14(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o25612, o25613)), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, o20365, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o20364, NULL, java.lang.Object(EOC)))) → Load18769ARR15(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Load18769ARR15(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → Cond_Load18769ARR15(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251)))
Cond_Load18769ARR15(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i7089, i7091, a23251))) → JMP26504(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(o20364, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(NULL, o20365, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o20365, java.lang.Object(EOC)))) → Load18769ARR16(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(NULL, o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR16(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR16(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR16(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP26541(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20365, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc26621(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP26504(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load18769ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load18769ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP26541(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load18769ARR14(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load18769ARR14(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load18769ARR15(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load18769ARR15(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load18769ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load18769ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(54) ITRSFilterProcessorProof (SOUND transformation)

We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:

Load18769(x1, x2, x3, x4, x5) → Load18769(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load18769ARR9(x1, x2, x3, x4, x5) → Load18769ARR9(x1, x2, x3)
Cond_Load18769ARR9(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR9(x1, x2, x3, x4)
Inc24121(x1, x2, x3, x4, x5) → Inc24121(x1, x2, x3)
JMP24198(x1, x2, x3, x4, x5) → JMP24198(x1, x2, x3)
Load18769ARR10(x1, x2, x3, x4, x5, x6) → Load18769ARR10(x1, x2, x3, x6)
Cond_Load18769ARR10(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR10(x1, x2, x3, x4, x7)
Load18769ARR11(x1, x2, x3, x4, x5, x6) → Load18769ARR11(x1, x2, x3)
Cond_Load18769ARR11(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR11(x1, x2, x3, x4)
Inc26621(x1, x2, x3, x4) → Inc26621(x1, x2, x3)
JMP26504(x1, x2, x3, x4) → JMP26504(x1, x2, x3)
Load18769ARR12(x1, x2, x3, x4, x5, x6) → Load18769ARR12(x1, x2, x3)
Cond_Load18769ARR12(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR12(x1, x2, x3, x4)
Load18769ARR13(x1, x2, x3, x4, x5) → Load18769ARR13(x1, x2, x3, x5)
Cond_Load18769ARR13(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR13(x1, x2, x3, x4, x6)
JMP26541(x1, x2, x3, x4) → JMP26541(x1, x2, x3)
Load18769ARR14(x1, x2, x3, x4, x5, x6) → Load18769ARR14(x1, x2, x3, x6)
Cond_Load18769ARR14(x1, x2, x3, x4, x5, x6, x7) → Cond_Load18769ARR14(x1, x2, x3, x4, x7)
Load18769ARR15(x1, x2, x3, x4, x5) → Load18769ARR15(x1, x2, x3)
Cond_Load18769ARR15(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR15(x1, x2, x3, x4)
Load18769ARR16(x1, x2, x3, x4, x5) → Load18769ARR16(x1, x2, x3, x5)
Cond_Load18769ARR16(x1, x2, x3, x4, x5, x6) → Cond_Load18769ARR16(x1, x2, x3, x4, x6)

(55) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR9(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR10(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR11(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1)
Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1)
JMP26504(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR12(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR12(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR12(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR12(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR13(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
JMP26541(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR14(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR14(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR14(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR14(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc26621(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR15(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR15(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR15(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR15(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → JMP26504(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR16(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR16(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR16(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR16(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP26541(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
The set Q consists of the following terms:
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc26621(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP26504(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR12(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR12(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
JMP26541(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR14(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR14(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load18769ARR15(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR15(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR16(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR16(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(56) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load18769ARR9, Load18769ARR15
> Load18769ARR9_3

Load18769ARR11, Load18769ARR12
> Load18769ARR11_3

Cond_Load18769ARR9, Cond_Load18769ARR15
> Cond_Load18769ARR9_4

JMP24198, JMP26541
> JMP24198_3

Load18769ARR10, Load18769ARR14
> Load18769ARR10_4

Load18769ARR13, Load18769ARR16
> Load18769ARR13_4

Cond_Load18769ARR13, Cond_Load18769ARR16
> Cond_Load18769ARR13_5

Cond_Load18769ARR10, Cond_Load18769ARR14
> Cond_Load18769ARR10_5

Inc24121, Inc26621, JMP26504
> Inc24121_3

Cond_Load18769ARR11, Cond_Load18769ARR12
> Cond_Load18769ARR11_4

(57) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR9(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR10(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR11(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR13(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
The set Q consists of the following terms:
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(58) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(59) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR9(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR10(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)
Inc24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174 + -1)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Load18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Cond_Load18769ARR11(i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174 + -1)
Load18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Load18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → Cond_Load18769ARR13(i7456 > 0 && i6103 > 0 && i6103 < i2 && i6174 > 0 && i6103 + 1 > 0, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198(java.lang.Object(ARRAY(i2, a20441data)), i6103 + 1, i6174)

The integer pair graph contains the following rules and edges:
(0): LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])
(1): LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])
(2): COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2] + 1, i6174[2])
(3): JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])
(4): LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))
(5): LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
(6): COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6] + 1, i6174[6])
(7): INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7] + -1)
(8): LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])
(9): LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])
(10): COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10] + 1, i6174[10] + -1)
(11): LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))
(12): LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))
(13): COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13] + 1, i6174[13])

(0) -> (1), if ((i6103[0]* i6103[1])∧(i6174[0]* i6174[1])∧(java.lang.Object(ARRAY(i2[0], a20441data[0])) →* java.lang.Object(ARRAY(i2[1], a20441data[1]))))


(1) -> (2), if ((i6103[1]* i6103[2])∧(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0* TRUE)∧(i6174[1]* i6174[2])∧(java.lang.Object(ARRAY(i2[1], a20441data[1])) →* java.lang.Object(ARRAY(i2[2], a20441data[2]))))


(2) -> (7), if ((i6174[2]* i6174[7])∧(i6103[2] + 1* i6668[7])∧(java.lang.Object(ARRAY(i2[2], a20441data[2])) →* java.lang.Object(ARRAY(i2[7], a20441data[7]))))


(3) -> (7), if ((i6174[3]* i6174[7])∧(java.lang.Object(ARRAY(i2[3], a20441data[3])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6668[3]* i6668[7]))


(4) -> (5), if ((java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])) →* java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(i6174[4]* i6174[5])∧(i6103[4]* i6103[5])∧(java.lang.Object(ARRAY(i2[4], a20441data[4])) →* java.lang.Object(ARRAY(i2[5], a20441data[5]))))


(5) -> (6), if ((i6174[5]* i6174[6])∧(java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])) →* java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))∧(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0* TRUE)∧(i6103[5]* i6103[6])∧(java.lang.Object(ARRAY(i2[5], a20441data[5])) →* java.lang.Object(ARRAY(i2[6], a20441data[6]))))


(6) -> (7), if ((java.lang.Object(ARRAY(i2[6], a20441data[6])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6174[6]* i6174[7])∧(i6103[6] + 1* i6668[7]))


(7) -> (0), if ((i6668[7]* i6103[0])∧(i6174[7] + -1* i6174[0])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[0], a20441data[0]))))


(7) -> (4), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6668[7]* i6103[4])∧(i6174[7] + -1* i6174[4]))


(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[8], a20441data[8])))∧(i6174[7] + -1* i6174[8])∧(i6668[7]* i6103[8]))


(7) -> (11), if ((i6174[7] + -1* i6174[11])∧(i6668[7]* i6103[11])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[11], a20441data[11]))))


(8) -> (9), if ((java.lang.Object(ARRAY(i2[8], a20441data[8])) →* java.lang.Object(ARRAY(i2[9], a20441data[9])))∧(i6103[8]* i6103[9])∧(i6174[8]* i6174[9]))


(9) -> (10), if ((i6174[9]* i6174[10])∧(java.lang.Object(ARRAY(i2[9], a20441data[9])) →* java.lang.Object(ARRAY(i2[10], a20441data[10])))∧(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0* TRUE)∧(i6103[9]* i6103[10]))


(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[0], a20441data[0])))∧(i6174[10] + -1* i6174[0])∧(i6103[10] + 1* i6103[0]))


(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6174[10] + -1* i6174[4])∧(i6103[10] + 1* i6103[4]))


(10) -> (8), if ((i6103[10] + 1* i6103[8])∧(i6174[10] + -1* i6174[8])∧(java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[8], a20441data[8]))))


(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[11], a20441data[11])))∧(i6174[10] + -1* i6174[11])∧(i6103[10] + 1* i6103[11]))


(11) -> (12), if ((i6174[11]* i6174[12])∧(i6103[11]* i6103[12])∧(java.lang.Object(ARRAY(i2[11], a20441data[11])) →* java.lang.Object(ARRAY(i2[12], a20441data[12])))∧(java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])) →* java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))))


(12) -> (13), if ((i6174[12]* i6174[13])∧(java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])) →* java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))∧(java.lang.Object(ARRAY(i2[12], a20441data[12])) →* java.lang.Object(ARRAY(i2[13], a20441data[13])))∧(i6103[12]* i6103[13])∧(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0* TRUE))


(13) -> (3), if ((i6174[13]* i6174[3])∧(i6103[13] + 1* i6668[3])∧(java.lang.Object(ARRAY(i2[13], a20441data[13])) →* java.lang.Object(ARRAY(i2[3], a20441data[3]))))



The set Q consists of the following terms:
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(60) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(61) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])
(1): LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])
(2): COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2] + 1, i6174[2])
(3): JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])
(4): LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))
(5): LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
(6): COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6] + 1, i6174[6])
(7): INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7] + -1)
(8): LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])
(9): LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])
(10): COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10] + 1, i6174[10] + -1)
(11): LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))
(12): LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))
(13): COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13] + 1, i6174[13])

(0) -> (1), if ((i6103[0]* i6103[1])∧(i6174[0]* i6174[1])∧(java.lang.Object(ARRAY(i2[0], a20441data[0])) →* java.lang.Object(ARRAY(i2[1], a20441data[1]))))


(1) -> (2), if ((i6103[1]* i6103[2])∧(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0* TRUE)∧(i6174[1]* i6174[2])∧(java.lang.Object(ARRAY(i2[1], a20441data[1])) →* java.lang.Object(ARRAY(i2[2], a20441data[2]))))


(2) -> (7), if ((i6174[2]* i6174[7])∧(i6103[2] + 1* i6668[7])∧(java.lang.Object(ARRAY(i2[2], a20441data[2])) →* java.lang.Object(ARRAY(i2[7], a20441data[7]))))


(3) -> (7), if ((i6174[3]* i6174[7])∧(java.lang.Object(ARRAY(i2[3], a20441data[3])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6668[3]* i6668[7]))


(4) -> (5), if ((java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])) →* java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(i6174[4]* i6174[5])∧(i6103[4]* i6103[5])∧(java.lang.Object(ARRAY(i2[4], a20441data[4])) →* java.lang.Object(ARRAY(i2[5], a20441data[5]))))


(5) -> (6), if ((i6174[5]* i6174[6])∧(java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])) →* java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))∧(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0* TRUE)∧(i6103[5]* i6103[6])∧(java.lang.Object(ARRAY(i2[5], a20441data[5])) →* java.lang.Object(ARRAY(i2[6], a20441data[6]))))


(6) -> (7), if ((java.lang.Object(ARRAY(i2[6], a20441data[6])) →* java.lang.Object(ARRAY(i2[7], a20441data[7])))∧(i6174[6]* i6174[7])∧(i6103[6] + 1* i6668[7]))


(7) -> (0), if ((i6668[7]* i6103[0])∧(i6174[7] + -1* i6174[0])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[0], a20441data[0]))))


(7) -> (4), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6668[7]* i6103[4])∧(i6174[7] + -1* i6174[4]))


(7) -> (8), if ((java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[8], a20441data[8])))∧(i6174[7] + -1* i6174[8])∧(i6668[7]* i6103[8]))


(7) -> (11), if ((i6174[7] + -1* i6174[11])∧(i6668[7]* i6103[11])∧(java.lang.Object(ARRAY(i2[7], a20441data[7])) →* java.lang.Object(ARRAY(i2[11], a20441data[11]))))


(8) -> (9), if ((java.lang.Object(ARRAY(i2[8], a20441data[8])) →* java.lang.Object(ARRAY(i2[9], a20441data[9])))∧(i6103[8]* i6103[9])∧(i6174[8]* i6174[9]))


(9) -> (10), if ((i6174[9]* i6174[10])∧(java.lang.Object(ARRAY(i2[9], a20441data[9])) →* java.lang.Object(ARRAY(i2[10], a20441data[10])))∧(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0* TRUE)∧(i6103[9]* i6103[10]))


(10) -> (0), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[0], a20441data[0])))∧(i6174[10] + -1* i6174[0])∧(i6103[10] + 1* i6103[0]))


(10) -> (4), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[4], a20441data[4])))∧(i6174[10] + -1* i6174[4])∧(i6103[10] + 1* i6103[4]))


(10) -> (8), if ((i6103[10] + 1* i6103[8])∧(i6174[10] + -1* i6174[8])∧(java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[8], a20441data[8]))))


(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a20441data[10])) →* java.lang.Object(ARRAY(i2[11], a20441data[11])))∧(i6174[10] + -1* i6174[11])∧(i6103[10] + 1* i6103[11]))


(11) -> (12), if ((i6174[11]* i6174[12])∧(i6103[11]* i6103[12])∧(java.lang.Object(ARRAY(i2[11], a20441data[11])) →* java.lang.Object(ARRAY(i2[12], a20441data[12])))∧(java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])) →* java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))))


(12) -> (13), if ((i6174[12]* i6174[13])∧(java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])) →* java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))∧(java.lang.Object(ARRAY(i2[12], a20441data[12])) →* java.lang.Object(ARRAY(i2[13], a20441data[13])))∧(i6103[12]* i6103[13])∧(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0* TRUE))


(13) -> (3), if ((i6174[13]* i6174[3])∧(i6103[13] + 1* i6668[3])∧(java.lang.Object(ARRAY(i2[13], a20441data[13])) →* java.lang.Object(ARRAY(i2[3], a20441data[3]))))



The set Q consists of the following terms:
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(62) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(63) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])
(1): LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])
(2): COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2] + 1, i6174[2])
(3): JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])
(4): LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))
(5): LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
(6): COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6] + 1, i6174[6])
(7): INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7] + -1)
(8): LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])
(9): LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])
(10): COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10] + 1, i6174[10] + -1)
(11): LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))
(12): LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))
(13): COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13] + 1, i6174[13])

(0) -> (1), if ((i6103[0]* i6103[1])∧(i6174[0]* i6174[1])∧((i2[0]* i2[1])∧(a20441data[0]* a20441data[1])))


(1) -> (2), if ((i6103[1]* i6103[2])∧(i6103[1] > 0 && i6103[1] < i2[1] && i6174[1] > 0 && i6103[1] + 1 > 0* TRUE)∧(i6174[1]* i6174[2])∧((i2[1]* i2[2])∧(a20441data[1]* a20441data[2])))


(2) -> (7), if ((i6174[2]* i6174[7])∧(i6103[2] + 1* i6668[7])∧((i2[2]* i2[7])∧(a20441data[2]* a20441data[7])))


(3) -> (7), if ((i6174[3]* i6174[7])∧((i2[3]* i2[7])∧(a20441data[3]* a20441data[7]))∧(i6668[3]* i6668[7]))


(4) -> (5), if (((i7456[4]* i7456[5])∧(i7089[4]* i7089[5])∧(i7091[4]* i7091[5])∧(a23251[4]* a23251[5]))∧(i6174[4]* i6174[5])∧(i6103[4]* i6103[5])∧((i2[4]* i2[5])∧(a20441data[4]* a20441data[5])))


(5) -> (6), if ((i6174[5]* i6174[6])∧((i7456[5]* i7456[6])∧(i7089[5]* i7089[6])∧(i7091[5]* i7091[6])∧(a23251[5]* a23251[6]))∧(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0* TRUE)∧(i6103[5]* i6103[6])∧((i2[5]* i2[6])∧(a20441data[5]* a20441data[6])))


(6) -> (7), if (((i2[6]* i2[7])∧(a20441data[6]* a20441data[7]))∧(i6174[6]* i6174[7])∧(i6103[6] + 1* i6668[7]))


(7) -> (0), if ((i6668[7]* i6103[0])∧(i6174[7] + -1* i6174[0])∧((i2[7]* i2[0])∧(a20441data[7]* a20441data[0])))


(7) -> (4), if (((i2[7]* i2[4])∧(a20441data[7]* a20441data[4]))∧(i6668[7]* i6103[4])∧(i6174[7] + -1* i6174[4]))


(7) -> (8), if (((i2[7]* i2[8])∧(a20441data[7]* a20441data[8]))∧(i6174[7] + -1* i6174[8])∧(i6668[7]* i6103[8]))


(7) -> (11), if ((i6174[7] + -1* i6174[11])∧(i6668[7]* i6103[11])∧((i2[7]* i2[11])∧(a20441data[7]* a20441data[11])))


(8) -> (9), if (((i2[8]* i2[9])∧(a20441data[8]* a20441data[9]))∧(i6103[8]* i6103[9])∧(i6174[8]* i6174[9]))


(9) -> (10), if ((i6174[9]* i6174[10])∧((i2[9]* i2[10])∧(a20441data[9]* a20441data[10]))∧(i6103[9] > 0 && i6103[9] < i2[9] && i6174[9] > 0 && i6103[9] + 1 > 0* TRUE)∧(i6103[9]* i6103[10]))


(10) -> (0), if (((i2[10]* i2[0])∧(a20441data[10]* a20441data[0]))∧(i6174[10] + -1* i6174[0])∧(i6103[10] + 1* i6103[0]))


(10) -> (4), if (((i2[10]* i2[4])∧(a20441data[10]* a20441data[4]))∧(i6174[10] + -1* i6174[4])∧(i6103[10] + 1* i6103[4]))


(10) -> (8), if ((i6103[10] + 1* i6103[8])∧(i6174[10] + -1* i6174[8])∧((i2[10]* i2[8])∧(a20441data[10]* a20441data[8])))


(10) -> (11), if (((i2[10]* i2[11])∧(a20441data[10]* a20441data[11]))∧(i6174[10] + -1* i6174[11])∧(i6103[10] + 1* i6103[11]))


(11) -> (12), if ((i6174[11]* i6174[12])∧(i6103[11]* i6103[12])∧((i2[11]* i2[12])∧(a20441data[11]* a20441data[12]))∧((i7456[11]* i7456[12])∧(i7089[11]* i7089[12])∧(i7091[11]* i7091[12])∧(a23251[11]* a23251[12])))


(12) -> (13), if ((i6174[12]* i6174[13])∧((i7456[12]* i7456[13])∧(i7089[12]* i7089[13])∧(i7091[12]* i7091[13])∧(a23251[12]* a23251[13]))∧((i2[12]* i2[13])∧(a20441data[12]* a20441data[13]))∧(i6103[12]* i6103[13])∧(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0* TRUE))


(13) -> (3), if ((i6174[13]* i6174[3])∧(i6103[13] + 1* i6668[3])∧((i2[13]* i2[3])∧(a20441data[13]* a20441data[3])))



The set Q consists of the following terms:
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(64) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) the following chains were created:
  • We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]), LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) which results in the following constraint:

    (1)    (i6103[0]=i6103[1]i6174[0]=i6174[1]i2[0]=i2[1]a20441data[0]=a20441data[1]LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])∧(UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])≥LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])∧(UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧[1 + (-1)bso_25] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)







For Pair LOAD18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103, 0), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) the following chains were created:
  • We consider the chain LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]), COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2]) which results in the following constraint:

    (7)    (i6103[1]=i6103[2]&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0))=TRUEi6174[1]=i6174[2]i2[1]=i2[2]a20441data[1]=a20441data[2]LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥NonInfC∧LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])∧(UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥))



    We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (8)    (>(+(i6103[1], 1), 0)=TRUE>(i6174[1], 0)=TRUE>(i6103[1], 0)=TRUE<(i6103[1], i2[1])=TRUELOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥NonInfC∧LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])≥COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])∧(UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (13)    ([1] + i6103[1] ≥ 0∧i6174[1] + [-1] ≥ 0∧i6103[1] ≥ 0∧i2[1] + [-2] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    ([1] + i6103[1] ≥ 0∧i6174[1] ≥ 0∧i6103[1] ≥ 0∧i2[1] + [-2] + [-1]i6103[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(2)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] + [(-1)bni_26]i6103[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([1] + i6103[1] ≥ 0∧i6174[1] ≥ 0∧i6103[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)







For Pair COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174) the following chains were created:
  • We consider the chain COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2]) which results in the following constraint:

    (16)    (COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2])≥NonInfC∧COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2])≥INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥))



    We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (17)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)



    We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (18)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)



    We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (19)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧[1 + (-1)bso_29] ≥ 0)



    We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (20)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)







For Pair JMP24198'(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) the following chains were created:
  • We consider the chain JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]), INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1)) which results in the following constraint:

    (21)    (i6174[3]=i6174[7]i2[3]=i2[7]a20441data[3]=a20441data[7]i6668[3]=i6668[7]JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥NonInfC∧JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥))



    We simplified constraint (21) using rule (IV) which results in the following new constraint:

    (22)    (JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥NonInfC∧JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])≥INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥))



    We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (23)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧[(-1)bso_31] ≥ 0)



    We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (24)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧[(-1)bso_31] ≥ 0)



    We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (25)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧[(-1)bso_31] ≥ 0)



    We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (26)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)







For Pair LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) the following chains were created:
  • We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4]))) which results in the following constraint:

    (27)    (LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4])≥LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))∧(UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥))



    We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (28)    ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)



    We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (29)    ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)



    We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (30)    ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧[1 + (-1)bso_33] ≥ 0)



    We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (31)    ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)







For Pair LOAD18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456, 0), >(i6103, 0)), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) the following chains were created:
  • We consider the chain LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))), COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6]) which results in the following constraint:

    (32)    (i6174[5]=i6174[6]i7456[5]=i7456[6]i7089[5]=i7089[6]i7091[5]=i7091[6]a23251[5]=a23251[6]&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0))=TRUEi6103[5]=i6103[6]i2[5]=i2[6]a20441data[5]=a20441data[6]LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥NonInfC∧LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥))



    We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (33)    (>(+(i6103[5], 1), 0)=TRUE>(i6174[5], 0)=TRUE<(i6103[5], i2[5])=TRUE>(i7456[5], 0)=TRUE>(i6103[5], 0)=TRUELOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥NonInfC∧LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))≥COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))∧(UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥))



    We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (34)    (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (35)    (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (36)    (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (37)    (i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (38)    ([1] + i6103[5] ≥ 0∧i6174[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (39)    ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] + [-2] + [-1]i6103[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] + [(-1)bni_34]i6103[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (40)    ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] ≥ 0∧i7456[5] + [-1] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (41)    ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] ≥ 0∧i7456[5] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174) the following chains were created:
  • We consider the chain COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6]) which results in the following constraint:

    (42)    (COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))≥NonInfC∧COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6])))≥INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])∧(UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥))



    We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (43)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)



    We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (44)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)



    We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (45)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧[2 + (-1)bso_37] ≥ 0)



    We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (46)    ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)







For Pair INC24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, +(i6174, -1)) the following chains were created:
  • We consider the chain INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1)) which results in the following constraint:

    (47)    (INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7])≥NonInfC∧INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7])≥LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))∧(UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥))



    We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (48)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (49)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (50)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (51)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) the following chains were created:
  • We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]), LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) which results in the following constraint:

    (52)    (i2[8]=i2[9]a20441data[8]=a20441data[9]i6103[8]=i6103[9]i6174[8]=i6174[9]LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])∧(UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥))



    We simplified constraint (52) using rule (IV) which results in the following new constraint:

    (53)    (LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])≥LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])∧(UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥))



    We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (54)    ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧[(-1)bso_41] ≥ 0)



    We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (55)    ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧[(-1)bso_41] ≥ 0)



    We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (56)    ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧[(-1)bso_41] ≥ 0)



    We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (57)    ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)







For Pair LOAD18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103, 0), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) the following chains were created:
  • We consider the chain LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]), COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1)) which results in the following constraint:

    (58)    (i6174[9]=i6174[10]i2[9]=i2[10]a20441data[9]=a20441data[10]&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0))=TRUEi6103[9]=i6103[10]LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥NonInfC∧LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])∧(UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥))



    We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (59)    (>(+(i6103[9], 1), 0)=TRUE>(i6174[9], 0)=TRUE>(i6103[9], 0)=TRUE<(i6103[9], i2[9])=TRUELOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥NonInfC∧LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])≥COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])∧(UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥))



    We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (60)    (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (61)    (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (62)    (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (63)    (i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (64)    ([1] + i6103[9] ≥ 0∧i6174[9] + [-1] ≥ 0∧i6103[9] ≥ 0∧i2[9] + [-2] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (65)    ([1] + i6103[9] ≥ 0∧i6174[9] ≥ 0∧i6103[9] ≥ 0∧i2[9] + [-2] + [-1]i6103[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(3)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [(-1)bni_42]i6103[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)



    We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (66)    ([1] + i6103[9] ≥ 0∧i6174[9] ≥ 0∧i6103[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)







For Pair COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), +(i6174, -1)) the following chains were created:
  • We consider the chain COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1)) which results in the following constraint:

    (67)    (COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10])≥NonInfC∧COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10])≥LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))∧(UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥))



    We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (68)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)



    We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (69)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)



    We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (70)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧[1 + (-1)bso_45] ≥ 0)



    We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (71)    ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)







For Pair LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) the following chains were created:
  • We consider the chain LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11]))) which results in the following constraint:

    (72)    (LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11])≥NonInfC∧LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11])≥LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))∧(UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥))



    We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (73)    ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)



    We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (74)    ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)



    We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (75)    ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧[2 + (-1)bso_47] ≥ 0)



    We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (76)    ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)







For Pair LOAD18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456, 0), >(i6103, 0)), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) the following chains were created:
  • We consider the chain LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))), COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13]) which results in the following constraint:

    (77)    (i6174[12]=i6174[13]i7456[12]=i7456[13]i7089[12]=i7089[13]i7091[12]=i7091[13]a23251[12]=a23251[13]i2[12]=i2[13]a20441data[12]=a20441data[13]i6103[12]=i6103[13]&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0))=TRUELOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥NonInfC∧LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))∧(UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥))



    We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (78)    (>(+(i6103[12], 1), 0)=TRUE>(i6174[12], 0)=TRUE<(i6103[12], i2[12])=TRUE>(i7456[12], 0)=TRUE>(i6103[12], 0)=TRUELOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥NonInfC∧LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))≥COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))∧(UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥))



    We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (79)    (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (80)    (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (81)    (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (82)    (i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (83)    ([1] + i6103[12] ≥ 0∧i6174[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (84)    ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] + [-2] + [-1]i6103[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [(2)bni_48]i6174[12] + [(-1)bni_48]i6103[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (85)    ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] ≥ 0∧i7456[12] + [-1] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i6174[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (86)    ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] ≥ 0∧i7456[12] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i6174[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198'(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174) the following chains were created:
  • We consider the chain COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13]) which results in the following constraint:

    (87)    (COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))≥NonInfC∧COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13])))≥JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])∧(UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥))



    We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (88)    ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)



    We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (89)    ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)



    We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (90)    ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧[1 + (-1)bso_51] ≥ 0)



    We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (91)    ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
    • ((UIncreasing(LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_25] ≥ 0)

  • LOAD18769ARR9(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103, 0), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
    • ([1] + i6103[1] ≥ 0∧i6174[1] ≥ 0∧i6103[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])), ≥)∧0 = 0∧[(4)bni_26 + (-1)Bound*bni_26] + [(2)bni_26]i6174[1] + [bni_26]i2[1] ≥ 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)

  • COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174)
    • ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_29] ≥ 0)

  • JMP24198'(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174)
    • ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_31] ≥ 0)

  • LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
    • ((UIncreasing(LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_33] ≥ 0)

  • LOAD18769ARR10(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456, 0), >(i6103, 0)), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
    • ([1] + i6103[5] ≥ 0∧i6174[5] ≥ 0∧i2[5] ≥ 0∧i7456[5] ≥ 0∧i6103[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]i6174[5] + [bni_34]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → INC24121(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174)
    • ((UIncreasing(INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_37] ≥ 0)

  • INC24121(java.lang.Object(ARRAY(i2, a20441data)), i6668, i6174) → LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6668, +(i6174, -1))
    • ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
    • ((UIncreasing(LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)

  • LOAD18769ARR11(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103, 0), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174)
    • ([1] + i6103[9] ≥ 0∧i6174[9] ≥ 0∧i6103[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])), ≥)∧0 = 0∧[(5)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]i6174[9] + [bni_42]i2[9] ≥ 0∧0 = 0∧[2 + (-1)bso_43] ≥ 0)

  • COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), +(i6174, -1))
    • ((UIncreasing(LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)

  • LOAD18769(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174) → LOAD18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
    • ((UIncreasing(LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[2 + (-1)bso_47] ≥ 0)

  • LOAD18769ARR13(java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456, 0), >(i6103, 0)), <(i6103, i2)), >(i6174, 0)), >(+(i6103, 1), 0)), java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251)))
    • ([1] + i6103[12] ≥ 0∧i6174[12] ≥ 0∧i2[12] ≥ 0∧i7456[12] ≥ 0∧i6103[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_48 + (3)bni_48] + [(2)bni_48]i6174[12] + [bni_48]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2, a20441data)), i6103, i6174, java.lang.Object(java.lang.String(i7456, i7089, i7091, a23251))) → JMP24198'(java.lang.Object(ARRAY(i2, a20441data)), +(i6103, 1), i6174)
    • ((UIncreasing(JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_51] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD18769(x1, x2, x3)) = [1] + [2]x3 + [-1]x1 + [-1]x2   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [-1] + [-1]x1   
POL(LOAD18769ARR9(x1, x2, x3)) = [2]x3 + [-1]x1 + [-1]x2   
POL(COND_LOAD18769ARR9(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x2 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(INC24121(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1   
POL(JMP24198'(x1, x2, x3)) = [-1] + [2]x3 + [-1]x2 + [-1]x1   
POL(LOAD18769ARR10(x1, x2, x3, x4)) = [2]x3 + [-1]x1 + [-1]x2   
POL(java.lang.String(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1   
POL(COND_LOAD18769ARR10(x1, x2, x3, x4, x5)) = [2]x4 + [-1]x2 + [-1]x3   
POL(-1) = [-1]   
POL(LOAD18769ARR11(x1, x2, x3)) = [1] + [2]x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD18769ARR11(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x2   
POL(LOAD18769ARR13(x1, x2, x3, x4)) = [-1] + [2]x3 + [-1]x2 + [-1]x1   
POL(COND_LOAD18769ARR13(x1, x2, x3, x4, x5)) = [-1] + [2]x4 + [-1]x3 + [-1]x2   

The following pairs are in P>:

LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])
LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])
COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), +(i6103[2], 1), i6174[2])
LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))
COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), +(i6103[6], 1), i6174[6])
LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])
COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), +(i6103[10], 1), +(i6174[10], -1))
LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))
COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), +(i6103[13], 1), i6174[13])

The following pairs are in Pbound:

LOAD18769ARR9(java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1]) → COND_LOAD18769ARR9(&&(&&(&&(>(i6103[1], 0), <(i6103[1], i2[1])), >(i6174[1], 0)), >(+(i6103[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a20441data[1])), i6103[1], i6174[1])
LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
LOAD18769ARR11(java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9]) → COND_LOAD18769ARR11(&&(&&(&&(>(i6103[9], 0), <(i6103[9], i2[9])), >(i6174[9], 0)), >(+(i6103[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a20441data[9])), i6103[9], i6174[9])
LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))

The following pairs are in P:

JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])
LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(&&(&&(&&(&&(>(i7456[5], 0), >(i6103[5], 0)), <(i6103[5], i2[5])), >(i6174[5], 0)), >(+(i6103[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], +(i6174[7], -1))
LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])
LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(&&(&&(&&(&&(>(i7456[12], 0), >(i6103[12], 0)), <(i6103[12], i2[12])), >(i6174[12], 0)), >(+(i6103[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))

There are no usable rules.

(65) Complex Obligation (AND)

(66) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(3): JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])
(5): LOAD18769ARR10(java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5]))) → COND_LOAD18769ARR10(i7456[5] > 0 && i6103[5] > 0 && i6103[5] < i2[5] && i6174[5] > 0 && i6103[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a20441data[5])), i6103[5], i6174[5], java.lang.Object(java.lang.String(i7456[5], i7089[5], i7091[5], a23251[5])))
(7): INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7] + -1)
(8): LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])
(12): LOAD18769ARR13(java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12]))) → COND_LOAD18769ARR13(i7456[12] > 0 && i6103[12] > 0 && i6103[12] < i2[12] && i6174[12] > 0 && i6103[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a20441data[12])), i6103[12], i6174[12], java.lang.Object(java.lang.String(i7456[12], i7089[12], i7091[12], a23251[12])))

(3) -> (7), if ((i6174[3]* i6174[7])∧((i2[3]* i2[7])∧(a20441data[3]* a20441data[7]))∧(i6668[3]* i6668[7]))


(7) -> (8), if (((i2[7]* i2[8])∧(a20441data[7]* a20441data[8]))∧(i6174[7] + -1* i6174[8])∧(i6668[7]* i6103[8]))



The set Q consists of the following terms:
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(67) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes.

(68) TRUE

(69) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD18769(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0]) → LOAD18769ARR9(java.lang.Object(ARRAY(i2[0], a20441data[0])), i6103[0], i6174[0])
(2): COND_LOAD18769ARR9(TRUE, java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2], i6174[2]) → INC24121(java.lang.Object(ARRAY(i2[2], a20441data[2])), i6103[2] + 1, i6174[2])
(3): JMP24198'(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3]) → INC24121(java.lang.Object(ARRAY(i2[3], a20441data[3])), i6668[3], i6174[3])
(4): LOAD18769(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4]) → LOAD18769ARR10(java.lang.Object(ARRAY(i2[4], a20441data[4])), i6103[4], i6174[4], java.lang.Object(java.lang.String(i7456[4], i7089[4], i7091[4], a23251[4])))
(6): COND_LOAD18769ARR10(TRUE, java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6], i6174[6], java.lang.Object(java.lang.String(i7456[6], i7089[6], i7091[6], a23251[6]))) → INC24121(java.lang.Object(ARRAY(i2[6], a20441data[6])), i6103[6] + 1, i6174[6])
(7): INC24121(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7]) → LOAD18769(java.lang.Object(ARRAY(i2[7], a20441data[7])), i6668[7], i6174[7] + -1)
(8): LOAD18769(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8]) → LOAD18769ARR11(java.lang.Object(ARRAY(i2[8], a20441data[8])), i6103[8], i6174[8])
(10): COND_LOAD18769ARR11(TRUE, java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10], i6174[10]) → LOAD18769(java.lang.Object(ARRAY(i2[10], a20441data[10])), i6103[10] + 1, i6174[10] + -1)
(11): LOAD18769(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11]) → LOAD18769ARR13(java.lang.Object(ARRAY(i2[11], a20441data[11])), i6103[11], i6174[11], java.lang.Object(java.lang.String(i7456[11], i7089[11], i7091[11], a23251[11])))
(13): COND_LOAD18769ARR13(TRUE, java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13], i6174[13], java.lang.Object(java.lang.String(i7456[13], i7089[13], i7091[13], a23251[13]))) → JMP24198'(java.lang.Object(ARRAY(i2[13], a20441data[13])), i6103[13] + 1, i6174[13])

(7) -> (0), if ((i6668[7]* i6103[0])∧(i6174[7] + -1* i6174[0])∧((i2[7]* i2[0])∧(a20441data[7]* a20441data[0])))


(10) -> (0), if (((i2[10]* i2[0])∧(a20441data[10]* a20441data[0]))∧(i6174[10] + -1* i6174[0])∧(i6103[10] + 1* i6103[0]))


(13) -> (3), if ((i6174[13]* i6174[3])∧(i6103[13] + 1* i6668[3])∧((i2[13]* i2[3])∧(a20441data[13]* a20441data[3])))


(7) -> (4), if (((i2[7]* i2[4])∧(a20441data[7]* a20441data[4]))∧(i6668[7]* i6103[4])∧(i6174[7] + -1* i6174[4]))


(10) -> (4), if (((i2[10]* i2[4])∧(a20441data[10]* a20441data[4]))∧(i6174[10] + -1* i6174[4])∧(i6103[10] + 1* i6103[4]))


(2) -> (7), if ((i6174[2]* i6174[7])∧(i6103[2] + 1* i6668[7])∧((i2[2]* i2[7])∧(a20441data[2]* a20441data[7])))


(3) -> (7), if ((i6174[3]* i6174[7])∧((i2[3]* i2[7])∧(a20441data[3]* a20441data[7]))∧(i6668[3]* i6668[7]))


(6) -> (7), if (((i2[6]* i2[7])∧(a20441data[6]* a20441data[7]))∧(i6174[6]* i6174[7])∧(i6103[6] + 1* i6668[7]))


(7) -> (8), if (((i2[7]* i2[8])∧(a20441data[7]* a20441data[8]))∧(i6174[7] + -1* i6174[8])∧(i6668[7]* i6103[8]))


(10) -> (8), if ((i6103[10] + 1* i6103[8])∧(i6174[10] + -1* i6174[8])∧((i2[10]* i2[8])∧(a20441data[10]* a20441data[8])))


(7) -> (11), if ((i6174[7] + -1* i6174[11])∧(i6668[7]* i6103[11])∧((i2[7]* i2[11])∧(a20441data[7]* a20441data[11])))


(10) -> (11), if (((i2[10]* i2[11])∧(a20441data[10]* a20441data[11]))∧(i6174[10] + -1* i6174[11])∧(i6103[10] + 1* i6103[11]))



The set Q consists of the following terms:
Load18769(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR9(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR9(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP24198(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR10(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR10(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc24121(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR11(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load18769ARR11(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load18769ARR13(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load18769ARR13(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(70) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.

(71) TRUE

(72) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC)))) → Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR17(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)))
JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837))) → Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR18(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)))
Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829))) → Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR19(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)))
Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC)))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
JMP22891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC)))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, NULL, o20829))) → Load15891ARR20(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, NULL, o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR20(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR20(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR20(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC)))) → Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR21(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)))
JMP22927(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC)))) → Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o20836, o20837))) → Load15891ARR22(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR22(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR22(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR22(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, NULL, java.lang.Object(EOC)))) → Load15891ARR23(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR23(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR23(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR23(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → JMP22891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(NULL, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o17471, java.lang.Object(EOC)))) → Load15891ARR24(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(NULL, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR24(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR24(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR24(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP22927(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc23100(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP22891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load15891ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15891ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP22927(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load15891ARR22(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15891ARR22(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load15891ARR23(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load15891ARR23(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load15891ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load15891ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(73) DuplicateArgsRemoverProof (EQUIVALENT transformation)

Some arguments are removed because they only appear as duplicates.
We removed arguments according to the following replacements:

JMP22927(x1, x2, x3, x4, x5) → JMP22927(x1, x2, x3, x5)
Cond_Load15891ARR24(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR24(x1, x2, x3, x4, x6, x7)
Load15891ARR24(x1, x2, x3, x4, x5, x6) → Load15891ARR24(x1, x2, x3, x5, x6)
JMP22891(x1, x2, x3, x4, x5) → JMP22891(x1, x2, x3, x5)
Cond_Load15891ARR23(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR23(x1, x2, x3, x4, x6, x7)
Load15891ARR23(x1, x2, x3, x4, x5, x6) → Load15891ARR23(x1, x2, x3, x5, x6)
Inc23100(x1, x2, x3, x4, x5) → Inc23100(x1, x2, x3, x5)
Cond_Load15891ARR21(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR21(x1, x2, x3, x4, x6, x7)
Load15891ARR21(x1, x2, x3, x4, x5, x6) → Load15891ARR21(x1, x2, x3, x5, x6)
Cond_Load15891ARR17(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR17(x1, x2, x3, x4, x6, x7)
Load15891ARR17(x1, x2, x3, x4, x5, x6) → Load15891ARR17(x1, x2, x3, x5, x6)

(74) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC)))) → Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR17(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)), java.lang.Object(EOC))), java.lang.Object(Tree(o20950Field0, o20950Field1, o20950Field2)))
JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837))) → Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR18(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21126Field0, o21126Field1, o21126Field2)))
Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829))) → Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR19(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o21108Field0, o21108Field1, o21108Field2)))
Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC)))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
JMP22891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC)))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, NULL, o20829))) → Load15891ARR20(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, NULL, o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR20(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR20(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR20(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20827, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20829)), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC)))) → Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR21(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)), o17471, java.lang.Object(EOC))), java.lang.Object(Tree(o20990Field0, o20990Field1, o20990Field2)))
JMP22927(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC)))) → Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o20836, o20837))) → Load15891ARR22(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR22(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR22(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR22(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o20836, o20837)), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, o17471, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, NULL, java.lang.Object(EOC))), java.lang.Object(Tree(o17470, NULL, java.lang.Object(EOC)))) → Load15891ARR23(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, NULL, java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Load15891ARR23(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → Cond_Load15891ARR23(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226)))
Cond_Load15891ARR23(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, i5668, i5670, a19226))) → JMP22891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(o17470, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(NULL, o17471, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, o17471, java.lang.Object(EOC)))) → Load15891ARR24(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(NULL, o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR24(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR24(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR24(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))), java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP22927(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), o17471, java.lang.Object(EOC))))
The set Q consists of the following terms:
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(x5, x6, x7)), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x8, x9, x10)))
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)))
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(x6, x7, x8)), x9, x10)), java.lang.Object(java.lang.String(x11, x12, x13, x14)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, x7, x8)))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)))
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(x7, x8, x9)), x10)), java.lang.Object(java.lang.String(0, x11, x12, x13)))
Inc23100(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
JMP22891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, NULL, x7)))
Load15891ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Cond_Load15891ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(x6, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x7)), java.lang.Object(java.lang.String(0, x8, x9, x10)))
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(x4, x5, x6)), x7, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
JMP22927(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))))
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(NULL, x6, x7)))
Load15891ARR22(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Cond_Load15891ARR22(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, x5, java.lang.Object(EOC))), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x6, x7)), java.lang.Object(java.lang.String(x8, x9, x10, x11)))
Load15891ARR23(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Cond_Load15891ARR23(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(x4, java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), java.lang.Object(EOC))), java.lang.Object(java.lang.String(0, x5, x6, x7)))
Load15891ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))
Cond_Load15891ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL, java.lang.Object(EOC))), x4, java.lang.Object(EOC))), java.lang.Object(java.lang.String(x5, x6, x7, x8)))

(75) ITRSFilterProcessorProof (SOUND transformation)

We filter according the heuristic IdpCand1ShapeHeuristic
We removed arguments according to the following replacements:

Load15891(x1, x2, x3, x4, x5) → Load15891(x1, x2, x3)
Tree(x1, x2, x3) → Tree
Load15891ARR17(x1, x2, x3, x4, x5) → Load15891ARR17(x1, x2, x3)
Cond_Load15891ARR17(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR17(x1, x2, x3, x4)
Inc20196(x1, x2, x3, x4, x5) → Inc20196(x1, x2, x3)
JMP20270(x1, x2, x3, x4, x5) → JMP20270(x1, x2, x3)
Load15891ARR18(x1, x2, x3, x4, x5, x6) → Load15891ARR18(x1, x2, x3, x6)
Cond_Load15891ARR18(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR18(x1, x2, x3, x4, x7)
Load15891ARR19(x1, x2, x3, x4, x5, x6) → Load15891ARR19(x1, x2, x3)
Cond_Load15891ARR19(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR19(x1, x2, x3, x4)
Inc23100(x1, x2, x3, x4) → Inc23100(x1, x2, x3)
JMP22891(x1, x2, x3, x4) → JMP22891(x1, x2, x3)
Load15891ARR20(x1, x2, x3, x4, x5, x6) → Load15891ARR20(x1, x2, x3)
Cond_Load15891ARR20(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR20(x1, x2, x3, x4)
Load15891ARR21(x1, x2, x3, x4, x5) → Load15891ARR21(x1, x2, x3, x5)
Cond_Load15891ARR21(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR21(x1, x2, x3, x4, x6)
JMP22927(x1, x2, x3, x4) → JMP22927(x1, x2, x3)
Load15891ARR22(x1, x2, x3, x4, x5, x6) → Load15891ARR22(x1, x2, x3, x6)
Cond_Load15891ARR22(x1, x2, x3, x4, x5, x6, x7) → Cond_Load15891ARR22(x1, x2, x3, x4, x7)
Load15891ARR23(x1, x2, x3, x4, x5) → Load15891ARR23(x1, x2, x3)
Cond_Load15891ARR23(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR23(x1, x2, x3, x4)
Load15891ARR24(x1, x2, x3, x4, x5) → Load15891ARR24(x1, x2, x3, x5)
Cond_Load15891ARR24(x1, x2, x3, x4, x5, x6) → Cond_Load15891ARR24(x1, x2, x3, x4, x6)

(76) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR17(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR18(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR19(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1)
Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1)
JMP22891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR20(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR20(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR20(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR20(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR21(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
JMP22927(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR22(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR22(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR22(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR22(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc23100(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR23(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR23(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR23(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR23(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → JMP22891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR24(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR24(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR24(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR24(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP22927(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
The set Q consists of the following terms:
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Inc23100(java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP22891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR20(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR20(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
JMP22927(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR22(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR22(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Load15891ARR23(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR23(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR24(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR24(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(77) ITRSFSMergerProof (SOUND transformation)

The following function symbols have been merged:

Load15891ARR17, Load15891ARR23
> Load15891ARR17_3

Load15891ARR19, Load15891ARR20
> Load15891ARR19_3

Cond_Load15891ARR17, Cond_Load15891ARR23
> Cond_Load15891ARR17_4

JMP20270, JMP22927
> JMP20270_3

Load15891ARR18, Load15891ARR22
> Load15891ARR18_4

Load15891ARR21, Load15891ARR24
> Load15891ARR21_4

Cond_Load15891ARR21, Cond_Load15891ARR24
> Cond_Load15891ARR21_5

Cond_Load15891ARR18, Cond_Load15891ARR22
> Cond_Load15891ARR18_5

Inc20196, Inc23100, JMP22891
> Inc20196_3

Cond_Load15891ARR19, Cond_Load15891ARR20
> Cond_Load15891ARR19_4

(78) Obligation:

ITRS problem:

The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean

The TRS R consists of the following rules:
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR17(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR18(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR19(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR21(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
The set Q consists of the following terms:
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(79) ITRStoIDPProof (EQUIVALENT transformation)

Added dependency pairs

(80) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR17(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR18(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)
Inc20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185 + -1)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Load15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Cond_Load15891ARR19(i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185 + -1)
Load15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Load15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → Cond_Load15891ARR21(i6004 > 0 && i5162 > 0 && i5162 < i2 && i5185 > 0 && i5162 + 1 > 0, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270(java.lang.Object(ARRAY(i2, a17770data)), i5162 + 1, i5185)

The integer pair graph contains the following rules and edges:
(0): LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])
(1): LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
(2): COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2] + 1, i5185[2])
(3): JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])
(4): LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))
(5): LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
(6): COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6] + 1, i5185[6])
(7): INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7] + -1)
(8): LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])
(9): LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
(10): COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10] + 1, i5185[10] + -1)
(11): LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))
(12): LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))
(13): COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13] + 1, i5185[13])

(0) -> (1), if ((java.lang.Object(ARRAY(i2[0], a17770data[0])) →* java.lang.Object(ARRAY(i2[1], a17770data[1])))∧(i5185[0]* i5185[1])∧(i5162[0]* i5162[1]))


(1) -> (2), if ((i5185[1]* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0* TRUE)∧(i5162[1]* i5162[2])∧(java.lang.Object(ARRAY(i2[1], a17770data[1])) →* java.lang.Object(ARRAY(i2[2], a17770data[2]))))


(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a17770data[2])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5162[2] + 1* i5384[7])∧(i5185[2]* i5185[7]))


(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a17770data[3])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5384[3]* i5384[7])∧(i5185[3]* i5185[7]))


(4) -> (5), if ((i5162[4]* i5162[5])∧(java.lang.Object(ARRAY(i2[4], a17770data[4])) →* java.lang.Object(ARRAY(i2[5], a17770data[5])))∧(i5185[4]* i5185[5])∧(java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])) →* java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))))


(5) -> (6), if ((java.lang.Object(ARRAY(i2[5], a17770data[5])) →* java.lang.Object(ARRAY(i2[6], a17770data[6])))∧(i5185[5]* i5185[6])∧(i5162[5]* i5162[6])∧(java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])) →* java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))∧(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0* TRUE))


(6) -> (7), if ((i5162[6] + 1* i5384[7])∧(i5185[6]* i5185[7])∧(java.lang.Object(ARRAY(i2[6], a17770data[6])) →* java.lang.Object(ARRAY(i2[7], a17770data[7]))))


(7) -> (0), if ((i5384[7]* i5162[0])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[0], a17770data[0])))∧(i5185[7] + -1* i5185[0]))


(7) -> (4), if ((i5185[7] + -1* i5185[4])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[4], a17770data[4])))∧(i5384[7]* i5162[4]))


(7) -> (8), if ((i5384[7]* i5162[8])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[7] + -1* i5185[8]))


(7) -> (11), if ((i5384[7]* i5162[11])∧(i5185[7] + -1* i5185[11])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[11], a17770data[11]))))


(8) -> (9), if ((i5185[8]* i5185[9])∧(java.lang.Object(ARRAY(i2[8], a17770data[8])) →* java.lang.Object(ARRAY(i2[9], a17770data[9])))∧(i5162[8]* i5162[9]))


(9) -> (10), if ((i5185[9]* i5185[10])∧(i5162[9]* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[9], a17770data[9])) →* java.lang.Object(ARRAY(i2[10], a17770data[10]))))


(10) -> (0), if ((i5185[10] + -1* i5185[0])∧(i5162[10] + 1* i5162[0])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[0], a17770data[0]))))


(10) -> (4), if ((i5185[10] + -1* i5185[4])∧(i5162[10] + 1* i5162[4])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[4], a17770data[4]))))


(10) -> (8), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[10] + -1* i5185[8])∧(i5162[10] + 1* i5162[8]))


(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[11], a17770data[11])))∧(i5162[10] + 1* i5162[11])∧(i5185[10] + -1* i5185[11]))


(11) -> (12), if ((i5162[11]* i5162[12])∧(i5185[11]* i5185[12])∧(java.lang.Object(ARRAY(i2[11], a17770data[11])) →* java.lang.Object(ARRAY(i2[12], a17770data[12])))∧(java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])) →* java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))))


(12) -> (13), if ((java.lang.Object(ARRAY(i2[12], a17770data[12])) →* java.lang.Object(ARRAY(i2[13], a17770data[13])))∧(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0* TRUE)∧(i5185[12]* i5185[13])∧(java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])) →* java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))∧(i5162[12]* i5162[13]))


(13) -> (3), if ((i5162[13] + 1* i5384[3])∧(java.lang.Object(ARRAY(i2[13], a17770data[13])) →* java.lang.Object(ARRAY(i2[3], a17770data[3])))∧(i5185[13]* i5185[3]))



The set Q consists of the following terms:
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(81) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(82) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])
(1): LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
(2): COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2] + 1, i5185[2])
(3): JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])
(4): LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))
(5): LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
(6): COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6] + 1, i5185[6])
(7): INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7] + -1)
(8): LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])
(9): LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
(10): COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10] + 1, i5185[10] + -1)
(11): LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))
(12): LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))
(13): COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13] + 1, i5185[13])

(0) -> (1), if ((java.lang.Object(ARRAY(i2[0], a17770data[0])) →* java.lang.Object(ARRAY(i2[1], a17770data[1])))∧(i5185[0]* i5185[1])∧(i5162[0]* i5162[1]))


(1) -> (2), if ((i5185[1]* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0* TRUE)∧(i5162[1]* i5162[2])∧(java.lang.Object(ARRAY(i2[1], a17770data[1])) →* java.lang.Object(ARRAY(i2[2], a17770data[2]))))


(2) -> (7), if ((java.lang.Object(ARRAY(i2[2], a17770data[2])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5162[2] + 1* i5384[7])∧(i5185[2]* i5185[7]))


(3) -> (7), if ((java.lang.Object(ARRAY(i2[3], a17770data[3])) →* java.lang.Object(ARRAY(i2[7], a17770data[7])))∧(i5384[3]* i5384[7])∧(i5185[3]* i5185[7]))


(4) -> (5), if ((i5162[4]* i5162[5])∧(java.lang.Object(ARRAY(i2[4], a17770data[4])) →* java.lang.Object(ARRAY(i2[5], a17770data[5])))∧(i5185[4]* i5185[5])∧(java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])) →* java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))))


(5) -> (6), if ((java.lang.Object(ARRAY(i2[5], a17770data[5])) →* java.lang.Object(ARRAY(i2[6], a17770data[6])))∧(i5185[5]* i5185[6])∧(i5162[5]* i5162[6])∧(java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])) →* java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))∧(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0* TRUE))


(6) -> (7), if ((i5162[6] + 1* i5384[7])∧(i5185[6]* i5185[7])∧(java.lang.Object(ARRAY(i2[6], a17770data[6])) →* java.lang.Object(ARRAY(i2[7], a17770data[7]))))


(7) -> (0), if ((i5384[7]* i5162[0])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[0], a17770data[0])))∧(i5185[7] + -1* i5185[0]))


(7) -> (4), if ((i5185[7] + -1* i5185[4])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[4], a17770data[4])))∧(i5384[7]* i5162[4]))


(7) -> (8), if ((i5384[7]* i5162[8])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[7] + -1* i5185[8]))


(7) -> (11), if ((i5384[7]* i5162[11])∧(i5185[7] + -1* i5185[11])∧(java.lang.Object(ARRAY(i2[7], a17770data[7])) →* java.lang.Object(ARRAY(i2[11], a17770data[11]))))


(8) -> (9), if ((i5185[8]* i5185[9])∧(java.lang.Object(ARRAY(i2[8], a17770data[8])) →* java.lang.Object(ARRAY(i2[9], a17770data[9])))∧(i5162[8]* i5162[9]))


(9) -> (10), if ((i5185[9]* i5185[10])∧(i5162[9]* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0* TRUE)∧(java.lang.Object(ARRAY(i2[9], a17770data[9])) →* java.lang.Object(ARRAY(i2[10], a17770data[10]))))


(10) -> (0), if ((i5185[10] + -1* i5185[0])∧(i5162[10] + 1* i5162[0])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[0], a17770data[0]))))


(10) -> (4), if ((i5185[10] + -1* i5185[4])∧(i5162[10] + 1* i5162[4])∧(java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[4], a17770data[4]))))


(10) -> (8), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[8], a17770data[8])))∧(i5185[10] + -1* i5185[8])∧(i5162[10] + 1* i5162[8]))


(10) -> (11), if ((java.lang.Object(ARRAY(i2[10], a17770data[10])) →* java.lang.Object(ARRAY(i2[11], a17770data[11])))∧(i5162[10] + 1* i5162[11])∧(i5185[10] + -1* i5185[11]))


(11) -> (12), if ((i5162[11]* i5162[12])∧(i5185[11]* i5185[12])∧(java.lang.Object(ARRAY(i2[11], a17770data[11])) →* java.lang.Object(ARRAY(i2[12], a17770data[12])))∧(java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])) →* java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))))


(12) -> (13), if ((java.lang.Object(ARRAY(i2[12], a17770data[12])) →* java.lang.Object(ARRAY(i2[13], a17770data[13])))∧(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0* TRUE)∧(i5185[12]* i5185[13])∧(java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])) →* java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))∧(i5162[12]* i5162[13]))


(13) -> (3), if ((i5162[13] + 1* i5384[3])∧(java.lang.Object(ARRAY(i2[13], a17770data[13])) →* java.lang.Object(ARRAY(i2[3], a17770data[3])))∧(i5185[13]* i5185[3]))



The set Q consists of the following terms:
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(83) ItpfGraphProof (EQUIVALENT transformation)

Applied rule ItpfICap [ICap]

(84) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])
(1): LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
(2): COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2] + 1, i5185[2])
(3): JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])
(4): LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))
(5): LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
(6): COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6] + 1, i5185[6])
(7): INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7] + -1)
(8): LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])
(9): LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
(10): COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10] + 1, i5185[10] + -1)
(11): LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))
(12): LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))
(13): COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13] + 1, i5185[13])

(0) -> (1), if (((i2[0]* i2[1])∧(a17770data[0]* a17770data[1]))∧(i5185[0]* i5185[1])∧(i5162[0]* i5162[1]))


(1) -> (2), if ((i5185[1]* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0* TRUE)∧(i5162[1]* i5162[2])∧((i2[1]* i2[2])∧(a17770data[1]* a17770data[2])))


(2) -> (7), if (((i2[2]* i2[7])∧(a17770data[2]* a17770data[7]))∧(i5162[2] + 1* i5384[7])∧(i5185[2]* i5185[7]))


(3) -> (7), if (((i2[3]* i2[7])∧(a17770data[3]* a17770data[7]))∧(i5384[3]* i5384[7])∧(i5185[3]* i5185[7]))


(4) -> (5), if ((i5162[4]* i5162[5])∧((i2[4]* i2[5])∧(a17770data[4]* a17770data[5]))∧(i5185[4]* i5185[5])∧((i6004[4]* i6004[5])∧(i5668[4]* i5668[5])∧(i5670[4]* i5670[5])∧(a19226[4]* a19226[5])))


(5) -> (6), if (((i2[5]* i2[6])∧(a17770data[5]* a17770data[6]))∧(i5185[5]* i5185[6])∧(i5162[5]* i5162[6])∧((i6004[5]* i6004[6])∧(i5668[5]* i5668[6])∧(i5670[5]* i5670[6])∧(a19226[5]* a19226[6]))∧(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0* TRUE))


(6) -> (7), if ((i5162[6] + 1* i5384[7])∧(i5185[6]* i5185[7])∧((i2[6]* i2[7])∧(a17770data[6]* a17770data[7])))


(7) -> (0), if ((i5384[7]* i5162[0])∧((i2[7]* i2[0])∧(a17770data[7]* a17770data[0]))∧(i5185[7] + -1* i5185[0]))


(7) -> (4), if ((i5185[7] + -1* i5185[4])∧((i2[7]* i2[4])∧(a17770data[7]* a17770data[4]))∧(i5384[7]* i5162[4]))


(7) -> (8), if ((i5384[7]* i5162[8])∧((i2[7]* i2[8])∧(a17770data[7]* a17770data[8]))∧(i5185[7] + -1* i5185[8]))


(7) -> (11), if ((i5384[7]* i5162[11])∧(i5185[7] + -1* i5185[11])∧((i2[7]* i2[11])∧(a17770data[7]* a17770data[11])))


(8) -> (9), if ((i5185[8]* i5185[9])∧((i2[8]* i2[9])∧(a17770data[8]* a17770data[9]))∧(i5162[8]* i5162[9]))


(9) -> (10), if ((i5185[9]* i5185[10])∧(i5162[9]* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0* TRUE)∧((i2[9]* i2[10])∧(a17770data[9]* a17770data[10])))


(10) -> (0), if ((i5185[10] + -1* i5185[0])∧(i5162[10] + 1* i5162[0])∧((i2[10]* i2[0])∧(a17770data[10]* a17770data[0])))


(10) -> (4), if ((i5185[10] + -1* i5185[4])∧(i5162[10] + 1* i5162[4])∧((i2[10]* i2[4])∧(a17770data[10]* a17770data[4])))


(10) -> (8), if (((i2[10]* i2[8])∧(a17770data[10]* a17770data[8]))∧(i5185[10] + -1* i5185[8])∧(i5162[10] + 1* i5162[8]))


(10) -> (11), if (((i2[10]* i2[11])∧(a17770data[10]* a17770data[11]))∧(i5162[10] + 1* i5162[11])∧(i5185[10] + -1* i5185[11]))


(11) -> (12), if ((i5162[11]* i5162[12])∧(i5185[11]* i5185[12])∧((i2[11]* i2[12])∧(a17770data[11]* a17770data[12]))∧((i6004[11]* i6004[12])∧(i5668[11]* i5668[12])∧(i5670[11]* i5670[12])∧(a19226[11]* a19226[12])))


(12) -> (13), if (((i2[12]* i2[13])∧(a17770data[12]* a17770data[13]))∧(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0* TRUE)∧(i5185[12]* i5185[13])∧((i6004[12]* i6004[13])∧(i5668[12]* i5668[13])∧(i5670[12]* i5670[13])∧(a19226[12]* a19226[13]))∧(i5162[12]* i5162[13]))


(13) -> (3), if ((i5162[13] + 1* i5384[3])∧((i2[13]* i2[3])∧(a17770data[13]* a17770data[3]))∧(i5185[13]* i5185[3]))



The set Q consists of the following terms:
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(85) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) the following chains were created:
  • We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]), LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) which results in the following constraint:

    (1)    (i2[0]=i2[1]a17770data[0]=a17770data[1]i5185[0]=i5185[1]i5162[0]=i5162[1]LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])∧(UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥))



    We simplified constraint (1) using rule (IV) which results in the following new constraint:

    (2)    (LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])≥LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])∧(UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)







For Pair LOAD15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162, 0), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) the following chains were created:
  • We consider the chain LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]), COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2]) which results in the following constraint:

    (7)    (i5185[1]=i5185[2]&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0))=TRUEi5162[1]=i5162[2]i2[1]=i2[2]a17770data[1]=a17770data[2]LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥NonInfC∧LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])∧(UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥))



    We simplified constraint (7) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (8)    (>(+(i5162[1], 1), 0)=TRUE>(i5185[1], 0)=TRUE>(i5162[1], 0)=TRUE<(i5162[1], i2[1])=TRUELOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥NonInfC∧LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])≥COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])∧(UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] + [-1] ≥ 0∧i2[1] + [-1] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (13)    ([1] + i5162[1] ≥ 0∧i5185[1] + [-1] ≥ 0∧i5162[1] ≥ 0∧i2[1] + [-2] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    ([1] + i5162[1] ≥ 0∧i5185[1] ≥ 0∧i5162[1] ≥ 0∧i2[1] + [-2] + [-1]i5162[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + (-1)bni_32] + [bni_32]i2[1] + [(-1)bni_32]i5162[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([1] + i5162[1] ≥ 0∧i5185[1] ≥ 0∧i5162[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i2[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)







For Pair COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185) the following chains were created:
  • We consider the chain COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2]) which results in the following constraint:

    (16)    (COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2])≥NonInfC∧COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2])≥INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥))



    We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (17)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧[(-1)bso_35] ≥ 0)



    We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (18)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧[(-1)bso_35] ≥ 0)



    We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (19)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧[(-1)bso_35] ≥ 0)



    We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (20)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair JMP20270'(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) the following chains were created:
  • We consider the chain JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]), INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1)) which results in the following constraint:

    (21)    (i2[3]=i2[7]a17770data[3]=a17770data[7]i5384[3]=i5384[7]i5185[3]=i5185[7]JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥NonInfC∧JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥))



    We simplified constraint (21) using rule (IV) which results in the following new constraint:

    (22)    (JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥NonInfC∧JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])≥INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥))



    We simplified constraint (22) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (23)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧[(-1)bso_37] ≥ 0)



    We simplified constraint (23) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (24)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧[(-1)bso_37] ≥ 0)



    We simplified constraint (24) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (25)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧[(-1)bso_37] ≥ 0)



    We simplified constraint (25) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (26)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) the following chains were created:
  • We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4]))) which results in the following constraint:

    (27)    (LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4])≥LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))∧(UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥))



    We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (28)    ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (29)    ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (30)    ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧[(-1)bso_39] ≥ 0)



    We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (31)    ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair LOAD15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004, 0), >(i5162, 0)), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) the following chains were created:
  • We consider the chain LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))), COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6]) which results in the following constraint:

    (32)    (i2[5]=i2[6]a17770data[5]=a17770data[6]i5185[5]=i5185[6]i5162[5]=i5162[6]i6004[5]=i6004[6]i5668[5]=i5668[6]i5670[5]=i5670[6]a19226[5]=a19226[6]&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0))=TRUELOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥NonInfC∧LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))∧(UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥))



    We simplified constraint (32) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (33)    (>(+(i5162[5], 1), 0)=TRUE>(i5185[5], 0)=TRUE<(i5162[5], i2[5])=TRUE>(i6004[5], 0)=TRUE>(i5162[5], 0)=TRUELOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥NonInfC∧LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))≥COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))∧(UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥))



    We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (34)    (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (35)    (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (36)    (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (36) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (37)    (i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-1] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (38)    ([1] + i5162[5] ≥ 0∧i5185[5] + [-1] ≥ 0∧i2[5] + [-2] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (39)    ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] + [-2] + [-1]i5162[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_40] + [bni_40]i2[5] + [(-1)bni_40]i5162[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (39) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (40)    ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] ≥ 0∧i6004[5] + [-1] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)



    We simplified constraint (40) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (41)    ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] ≥ 0∧i6004[5] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)







For Pair COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185) the following chains were created:
  • We consider the chain COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6]) which results in the following constraint:

    (42)    (COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))≥NonInfC∧COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6])))≥INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])∧(UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥))



    We simplified constraint (42) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (43)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)



    We simplified constraint (43) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (44)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)



    We simplified constraint (44) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (45)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧[1 + (-1)bso_43] ≥ 0)



    We simplified constraint (45) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (46)    ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)







For Pair INC20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, +(i5185, -1)) the following chains were created:
  • We consider the chain INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1)) which results in the following constraint:

    (47)    (INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7])≥NonInfC∧INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7])≥LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))∧(UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥))



    We simplified constraint (47) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (48)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)



    We simplified constraint (48) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (49)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)



    We simplified constraint (49) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (50)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧[(-1)bso_45] ≥ 0)



    We simplified constraint (50) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (51)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)







For Pair LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) the following chains were created:
  • We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]), LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) which results in the following constraint:

    (52)    (i5185[8]=i5185[9]i2[8]=i2[9]a17770data[8]=a17770data[9]i5162[8]=i5162[9]LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])∧(UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥))



    We simplified constraint (52) using rule (IV) which results in the following new constraint:

    (53)    (LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])≥LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])∧(UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥))



    We simplified constraint (53) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (54)    ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)



    We simplified constraint (54) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (55)    ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)



    We simplified constraint (55) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (56)    ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧[1 + (-1)bso_47] ≥ 0)



    We simplified constraint (56) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (57)    ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)







For Pair LOAD15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162, 0), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) the following chains were created:
  • We consider the chain LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]), COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1)) which results in the following constraint:

    (58)    (i5185[9]=i5185[10]i5162[9]=i5162[10]&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0))=TRUEi2[9]=i2[10]a17770data[9]=a17770data[10]LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥NonInfC∧LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])∧(UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥))



    We simplified constraint (58) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (59)    (>(+(i5162[9], 1), 0)=TRUE>(i5185[9], 0)=TRUE>(i5162[9], 0)=TRUE<(i5162[9], i2[9])=TRUELOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥NonInfC∧LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])≥COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])∧(UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥))



    We simplified constraint (59) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (60)    (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (60) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (61)    (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (61) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (62)    (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (62) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (63)    (i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] + [-1] ≥ 0∧i2[9] + [-1] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (64)    ([1] + i5162[9] ≥ 0∧i5185[9] + [-1] ≥ 0∧i5162[9] ≥ 0∧i2[9] + [-2] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (65)    ([1] + i5162[9] ≥ 0∧i5185[9] ≥ 0∧i5162[9] ≥ 0∧i2[9] + [-2] + [-1]i5162[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + (-1)bni_48] + [(-1)bni_48]i5162[9] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (66)    ([1] + i5162[9] ≥ 0∧i5185[9] ≥ 0∧i5162[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), +(i5185, -1)) the following chains were created:
  • We consider the chain COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1)) which results in the following constraint:

    (67)    (COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10])≥NonInfC∧COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10])≥LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))∧(UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥))



    We simplified constraint (67) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (68)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)



    We simplified constraint (68) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (69)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)



    We simplified constraint (69) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (70)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧[(-1)bso_51] ≥ 0)



    We simplified constraint (70) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (71)    ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) the following chains were created:
  • We consider the chain LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11]))) which results in the following constraint:

    (72)    (LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11])≥NonInfC∧LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11])≥LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))∧(UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥))



    We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (73)    ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧[(-1)bso_53] ≥ 0)



    We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (74)    ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧[(-1)bso_53] ≥ 0)



    We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (75)    ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧[(-1)bso_53] ≥ 0)



    We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (76)    ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)







For Pair LOAD15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004, 0), >(i5162, 0)), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) the following chains were created:
  • We consider the chain LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))), COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13]) which results in the following constraint:

    (77)    (i2[12]=i2[13]a17770data[12]=a17770data[13]&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0))=TRUEi5185[12]=i5185[13]i6004[12]=i6004[13]i5668[12]=i5668[13]i5670[12]=i5670[13]a19226[12]=a19226[13]i5162[12]=i5162[13]LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥NonInfC∧LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))∧(UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥))



    We simplified constraint (77) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (78)    (>(+(i5162[12], 1), 0)=TRUE>(i5185[12], 0)=TRUE<(i5162[12], i2[12])=TRUE>(i6004[12], 0)=TRUE>(i5162[12], 0)=TRUELOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥NonInfC∧LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))≥COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))∧(UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥))



    We simplified constraint (78) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (79)    (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (79) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (80)    (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (80) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (81)    (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (81) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (82)    (i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-1] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] + [-1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (82) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (83)    ([1] + i5162[12] ≥ 0∧i5185[12] + [-1] ≥ 0∧i2[12] + [-2] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (83) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (84)    ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] + [-2] + [-1]i5162[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54] + [(-1)bni_54]i5162[12] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (84) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (85)    ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] ≥ 0∧i6004[12] + [-1] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (85) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (86)    ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] ≥ 0∧i6004[12] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270'(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185) the following chains were created:
  • We consider the chain COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13]) which results in the following constraint:

    (87)    (COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))≥NonInfC∧COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13])))≥JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])∧(UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥))



    We simplified constraint (87) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (88)    ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)



    We simplified constraint (88) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (89)    ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)



    We simplified constraint (89) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (90)    ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧[1 + (-1)bso_57] ≥ 0)



    We simplified constraint (90) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (91)    ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
    • ((UIncreasing(LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_31] ≥ 0)

  • LOAD15891ARR17(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162, 0), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
    • ([1] + i5162[1] ≥ 0∧i5185[1] ≥ 0∧i5162[1] ≥ 0∧i2[1] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])), ≥)∧0 = 0∧[(-1)Bound*bni_32 + bni_32] + [bni_32]i2[1] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)

  • COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185)
    • ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • JMP20270'(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185)
    • ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
    • ((UIncreasing(LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • LOAD15891ARR18(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004, 0), >(i5162, 0)), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
    • ([1] + i5162[5] ≥ 0∧i5185[5] ≥ 0∧i2[5] ≥ 0∧i6004[5] ≥ 0∧i5162[5] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(2)bni_40 + (-1)Bound*bni_40] + [bni_40]i2[5] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)

  • COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → INC20196(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185)
    • ((UIncreasing(INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)

  • INC20196(java.lang.Object(ARRAY(i2, a17770data)), i5384, i5185) → LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5384, +(i5185, -1))
    • ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)

  • LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
    • ((UIncreasing(LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)

  • LOAD15891ARR19(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162, 0), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185)
    • ([1] + i5162[9] ≥ 0∧i5185[9] ≥ 0∧i5162[9] ≥ 0∧i2[9] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])), ≥)∧0 = 0∧[(-1)Bound*bni_48 + bni_48] + [bni_48]i2[9] ≥ 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), +(i5185, -1))
    • ((UIncreasing(LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)

  • LOAD15891(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185) → LOAD15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
    • ((UIncreasing(LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)

  • LOAD15891ARR21(java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004, 0), >(i5162, 0)), <(i5162, i2)), >(i5185, 0)), >(+(i5162, 1), 0)), java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226)))
    • ([1] + i5162[12] ≥ 0∧i5185[12] ≥ 0∧i2[12] ≥ 0∧i6004[12] ≥ 0∧i5162[12] ≥ 0 ⇒ (UIncreasing(COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_54 + (2)bni_54] + [bni_54]i2[12] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)

  • COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2, a17770data)), i5162, i5185, java.lang.Object(java.lang.String(i6004, i5668, i5670, a19226))) → JMP20270'(java.lang.Object(ARRAY(i2, a17770data)), +(i5162, 1), i5185)
    • ((UIncreasing(JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_57] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(LOAD15891(x1, x2, x3)) = [-1]x1 + [-1]x2   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1, x2)) = [-1] + [-1]x1   
POL(LOAD15891ARR17(x1, x2, x3)) = [-1] + [-1]x1 + [-1]x2   
POL(COND_LOAD15891ARR17(x1, x2, x3, x4)) = [-1] + [-1]x2 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(INC20196(x1, x2, x3)) = [-1]x2 + [-1]x1   
POL(JMP20270'(x1, x2, x3)) = [-1]x2 + [-1]x1   
POL(LOAD15891ARR18(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x1 + [-1]x2   
POL(java.lang.String(x1, x2, x3, x4)) = [-1]   
POL(COND_LOAD15891ARR18(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x2 + [-1]x3   
POL(-1) = [-1]   
POL(LOAD15891ARR19(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1   
POL(COND_LOAD15891ARR19(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x2   
POL(LOAD15891ARR21(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x2 + [-1]x1   
POL(COND_LOAD15891ARR21(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x3 + [-1]x2   

The following pairs are in P>:

LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])
COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), +(i5162[6], 1), i5185[6])
LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])
COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), +(i5162[13], 1), i5185[13])

The following pairs are in Pbound:

LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))

The following pairs are in P:

LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(&&(&&(&&(>(i5162[1], 0), <(i5162[1], i2[1])), >(i5185[1], 0)), >(+(i5162[1], 1), 0)), java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), +(i5162[2], 1), i5185[2])
JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])
LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))
LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(&&(&&(&&(&&(>(i6004[5], 0), >(i5162[5], 0)), <(i5162[5], i2[5])), >(i5185[5], 0)), >(+(i5162[5], 1), 0)), java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], +(i5185[7], -1))
LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(&&(&&(&&(>(i5162[9], 0), <(i5162[9], i2[9])), >(i5185[9], 0)), >(+(i5162[9], 1), 0)), java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), +(i5162[10], 1), +(i5185[10], -1))
LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))
LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(&&(&&(&&(&&(>(i6004[12], 0), >(i5162[12], 0)), <(i5162[12], i2[12])), >(i5185[12], 0)), >(+(i5162[12], 1), 0)), java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))

There are no usable rules.

(86) Complex Obligation (AND)

(87) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(1): LOAD15891ARR17(java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1]) → COND_LOAD15891ARR17(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0, java.lang.Object(ARRAY(i2[1], a17770data[1])), i5162[1], i5185[1])
(2): COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2] + 1, i5185[2])
(3): JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])
(4): LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))
(5): LOAD15891ARR18(java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5]))) → COND_LOAD15891ARR18(i6004[5] > 0 && i5162[5] > 0 && i5162[5] < i2[5] && i5185[5] > 0 && i5162[5] + 1 > 0, java.lang.Object(ARRAY(i2[5], a17770data[5])), i5162[5], i5185[5], java.lang.Object(java.lang.String(i6004[5], i5668[5], i5670[5], a19226[5])))
(7): INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7] + -1)
(9): LOAD15891ARR19(java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9]) → COND_LOAD15891ARR19(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0, java.lang.Object(ARRAY(i2[9], a17770data[9])), i5162[9], i5185[9])
(10): COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10] + 1, i5185[10] + -1)
(11): LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))
(12): LOAD15891ARR21(java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12]))) → COND_LOAD15891ARR21(i6004[12] > 0 && i5162[12] > 0 && i5162[12] < i2[12] && i5185[12] > 0 && i5162[12] + 1 > 0, java.lang.Object(ARRAY(i2[12], a17770data[12])), i5162[12], i5185[12], java.lang.Object(java.lang.String(i6004[12], i5668[12], i5670[12], a19226[12])))

(1) -> (2), if ((i5185[1]* i5185[2])∧(i5162[1] > 0 && i5162[1] < i2[1] && i5185[1] > 0 && i5162[1] + 1 > 0* TRUE)∧(i5162[1]* i5162[2])∧((i2[1]* i2[2])∧(a17770data[1]* a17770data[2])))


(7) -> (4), if ((i5185[7] + -1* i5185[4])∧((i2[7]* i2[4])∧(a17770data[7]* a17770data[4]))∧(i5384[7]* i5162[4]))


(10) -> (4), if ((i5185[10] + -1* i5185[4])∧(i5162[10] + 1* i5162[4])∧((i2[10]* i2[4])∧(a17770data[10]* a17770data[4])))


(4) -> (5), if ((i5162[4]* i5162[5])∧((i2[4]* i2[5])∧(a17770data[4]* a17770data[5]))∧(i5185[4]* i5185[5])∧((i6004[4]* i6004[5])∧(i5668[4]* i5668[5])∧(i5670[4]* i5670[5])∧(a19226[4]* a19226[5])))


(2) -> (7), if (((i2[2]* i2[7])∧(a17770data[2]* a17770data[7]))∧(i5162[2] + 1* i5384[7])∧(i5185[2]* i5185[7]))


(3) -> (7), if (((i2[3]* i2[7])∧(a17770data[3]* a17770data[7]))∧(i5384[3]* i5384[7])∧(i5185[3]* i5185[7]))


(9) -> (10), if ((i5185[9]* i5185[10])∧(i5162[9]* i5162[10])∧(i5162[9] > 0 && i5162[9] < i2[9] && i5185[9] > 0 && i5162[9] + 1 > 0* TRUE)∧((i2[9]* i2[10])∧(a17770data[9]* a17770data[10])))


(7) -> (11), if ((i5384[7]* i5162[11])∧(i5185[7] + -1* i5185[11])∧((i2[7]* i2[11])∧(a17770data[7]* a17770data[11])))


(10) -> (11), if (((i2[10]* i2[11])∧(a17770data[10]* a17770data[11]))∧(i5162[10] + 1* i5162[11])∧(i5185[10] + -1* i5185[11]))


(11) -> (12), if ((i5162[11]* i5162[12])∧(i5185[11]* i5185[12])∧((i2[11]* i2[12])∧(a17770data[11]* a17770data[12]))∧((i6004[11]* i6004[12])∧(i5668[11]* i5668[12])∧(i5670[11]* i5670[12])∧(a19226[11]* a19226[12])))



The set Q consists of the following terms:
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(88) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.

(89) TRUE

(90) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): LOAD15891(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0]) → LOAD15891ARR17(java.lang.Object(ARRAY(i2[0], a17770data[0])), i5162[0], i5185[0])
(2): COND_LOAD15891ARR17(TRUE, java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2], i5185[2]) → INC20196(java.lang.Object(ARRAY(i2[2], a17770data[2])), i5162[2] + 1, i5185[2])
(3): JMP20270'(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3]) → INC20196(java.lang.Object(ARRAY(i2[3], a17770data[3])), i5384[3], i5185[3])
(4): LOAD15891(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4]) → LOAD15891ARR18(java.lang.Object(ARRAY(i2[4], a17770data[4])), i5162[4], i5185[4], java.lang.Object(java.lang.String(i6004[4], i5668[4], i5670[4], a19226[4])))
(6): COND_LOAD15891ARR18(TRUE, java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6], i5185[6], java.lang.Object(java.lang.String(i6004[6], i5668[6], i5670[6], a19226[6]))) → INC20196(java.lang.Object(ARRAY(i2[6], a17770data[6])), i5162[6] + 1, i5185[6])
(7): INC20196(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7]) → LOAD15891(java.lang.Object(ARRAY(i2[7], a17770data[7])), i5384[7], i5185[7] + -1)
(8): LOAD15891(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8]) → LOAD15891ARR19(java.lang.Object(ARRAY(i2[8], a17770data[8])), i5162[8], i5185[8])
(10): COND_LOAD15891ARR19(TRUE, java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10], i5185[10]) → LOAD15891(java.lang.Object(ARRAY(i2[10], a17770data[10])), i5162[10] + 1, i5185[10] + -1)
(11): LOAD15891(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11]) → LOAD15891ARR21(java.lang.Object(ARRAY(i2[11], a17770data[11])), i5162[11], i5185[11], java.lang.Object(java.lang.String(i6004[11], i5668[11], i5670[11], a19226[11])))
(13): COND_LOAD15891ARR21(TRUE, java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13], i5185[13], java.lang.Object(java.lang.String(i6004[13], i5668[13], i5670[13], a19226[13]))) → JMP20270'(java.lang.Object(ARRAY(i2[13], a17770data[13])), i5162[13] + 1, i5185[13])

(7) -> (0), if ((i5384[7]* i5162[0])∧((i2[7]* i2[0])∧(a17770data[7]* a17770data[0]))∧(i5185[7] + -1* i5185[0]))


(10) -> (0), if ((i5185[10] + -1* i5185[0])∧(i5162[10] + 1* i5162[0])∧((i2[10]* i2[0])∧(a17770data[10]* a17770data[0])))


(13) -> (3), if ((i5162[13] + 1* i5384[3])∧((i2[13]* i2[3])∧(a17770data[13]* a17770data[3]))∧(i5185[13]* i5185[3]))


(7) -> (4), if ((i5185[7] + -1* i5185[4])∧((i2[7]* i2[4])∧(a17770data[7]* a17770data[4]))∧(i5384[7]* i5162[4]))


(10) -> (4), if ((i5185[10] + -1* i5185[4])∧(i5162[10] + 1* i5162[4])∧((i2[10]* i2[4])∧(a17770data[10]* a17770data[4])))


(2) -> (7), if (((i2[2]* i2[7])∧(a17770data[2]* a17770data[7]))∧(i5162[2] + 1* i5384[7])∧(i5185[2]* i5185[7]))


(3) -> (7), if (((i2[3]* i2[7])∧(a17770data[3]* a17770data[7]))∧(i5384[3]* i5384[7])∧(i5185[3]* i5185[7]))


(6) -> (7), if ((i5162[6] + 1* i5384[7])∧(i5185[6]* i5185[7])∧((i2[6]* i2[7])∧(a17770data[6]* a17770data[7])))


(7) -> (8), if ((i5384[7]* i5162[8])∧((i2[7]* i2[8])∧(a17770data[7]* a17770data[8]))∧(i5185[7] + -1* i5185[8]))


(10) -> (8), if (((i2[10]* i2[8])∧(a17770data[10]* a17770data[8]))∧(i5185[10] + -1* i5185[8])∧(i5162[10] + 1* i5162[8]))


(7) -> (11), if ((i5384[7]* i5162[11])∧(i5185[7] + -1* i5185[11])∧((i2[7]* i2[11])∧(a17770data[7]* a17770data[11])))


(10) -> (11), if (((i2[10]* i2[11])∧(a17770data[10]* a17770data[11]))∧(i5162[10] + 1* i5162[11])∧(i5185[10] + -1* i5185[11]))



The set Q consists of the following terms:
Load15891(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR17(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR17(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
JMP20270(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR18(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR18(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Inc20196(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR19(java.lang.Object(ARRAY(x0, x1)), x2, x3)
Cond_Load15891ARR19(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3)
Load15891ARR21(java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))
Cond_Load15891ARR21(TRUE, java.lang.Object(ARRAY(x0, x1)), x2, x3, java.lang.Object(java.lang.String(x4, x5, x6, x7)))

(91) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 10 less nodes.

(92) TRUE